From 5305117a7506294816a42048172fe85ae1a86dbf Mon Sep 17 00:00:00 2001 From: grossmj Date: Fri, 4 Sep 2020 01:59:45 +0930 Subject: [PATCH 01/24] Sync appliance files. --- gns3server/appliances/Simulator.gns3a | 5 +- gns3server/appliances/a10-vthunder.gns3a | 3 +- gns3server/appliances/aaa.gns3a | 2 +- gns3server/appliances/alcatel-7750.gns3a | 1 + gns3server/appliances/arista-veos.gns3a | 20 ++- gns3server/appliances/aruba-arubaoscx.gns3a | 28 ++-- gns3server/appliances/aruba-vmc.gns3a | 71 +++++------ .../bigswitch-bigcloud-fabric.gns3a | 7 +- gns3server/appliances/bird.gns3a | 1 + gns3server/appliances/brocade-vadx.gns3a | 8 +- gns3server/appliances/brocade-vtm.gns3a | 1 - gns3server/appliances/bsdrp.gns3a | 1 + gns3server/appliances/centos-cloud.gns3a | 2 +- gns3server/appliances/centos7.gns3a | 5 - gns3server/appliances/checkpoint-gaia.gns3a | 4 +- gns3server/appliances/cisco-asa.gns3a | 1 + gns3server/appliances/cisco-asav.gns3a | 2 +- gns3server/appliances/cisco-csr1000v.gns3a | 15 ++- gns3server/appliances/cisco-dcnm.gns3a | 4 +- gns3server/appliances/cisco-fcnf.gns3a | 6 +- gns3server/appliances/cisco-fmcv.gns3a | 61 +++++---- gns3server/appliances/cisco-fsve.gns3a | 6 +- gns3server/appliances/cisco-ftdv.gns3a | 47 ++++--- gns3server/appliances/cisco-iosvl2.gns3a | 4 +- gns3server/appliances/cisco-iosxrv.gns3a | 1 + gns3server/appliances/cisco-iosxrv9k.gns3a | 4 +- gns3server/appliances/cisco-ise.gns3a | 6 +- gns3server/appliances/cisco-ngipsv.gns3a | 29 ++--- gns3server/appliances/cisco-nxosv.gns3a | 1 + gns3server/appliances/cisco-nxosv9k.gns3a | 10 +- gns3server/appliances/cisco-smc.gns3a | 6 +- gns3server/appliances/cisco-vWLC.gns3a | 77 ++++++----- gns3server/appliances/cisco-wsav.gns3a | 2 +- .../appliances/citrix-netscaler-vpx.gns3a | 2 +- gns3server/appliances/cumulus-vx.gns3a | 29 ++++- gns3server/appliances/danos.gns3a | 9 +- gns3server/appliances/debian10-min.gns3a | 2 +- gns3server/appliances/deft-linux.gns3a | 2 +- gns3server/appliances/dns.gns3a | 2 +- gns3server/appliances/exos.gns3a | 31 ++--- .../appliances/extreme-networks-voss.gns3a | 53 ++++---- gns3server/appliances/f5-bigiq.gns3a | 2 +- gns3server/appliances/firefox.gns3a | 1 + gns3server/appliances/fortiadc-manager.gns3a | 2 +- gns3server/appliances/fortiadc.gns3a | 7 +- gns3server/appliances/fortianalyzer.gns3a | 2 +- .../appliances/fortiauthenticator.gns3a | 2 +- gns3server/appliances/forticache.gns3a | 2 +- gns3server/appliances/fortigate.gns3a | 8 +- gns3server/appliances/fortimail.gns3a | 2 +- gns3server/appliances/fortimanager.gns3a | 9 +- gns3server/appliances/fortiproxy.gns3a | 2 +- gns3server/appliances/fortirecorder.gns3a | 2 +- gns3server/appliances/fortisandbox.gns3a | 2 +- .../appliances/fortisiem-super_worker.gns3a | 2 +- gns3server/appliances/fortiweb.gns3a | 3 +- gns3server/appliances/freeRouter.gns3a | 1 + gns3server/appliances/frr.gns3a | 3 +- gns3server/appliances/hp-vsr1001.gns3a | 2 +- gns3server/appliances/internet.gns3a | 1 + gns3server/appliances/ipfire.gns3a | 8 +- .../appliances/juniper-junos-space.gns3a | 3 +- .../appliances/juniper-vmx-legacy.gns3a | 15 ++- gns3server/appliances/juniper-vmx-vcp.gns3a | 33 ++++- gns3server/appliances/juniper-vmx-vfp.gns3a | 18 ++- gns3server/appliances/juniper-vqfx-pfe.gns3a | 3 +- gns3server/appliances/juniper-vqfx-re.gns3a | 33 ++--- gns3server/appliances/juniper-vsrx.gns3a | 7 +- gns3server/appliances/kali-linux.gns3a | 1 + gns3server/appliances/kemp-vlm.gns3a | 4 +- gns3server/appliances/kerio-connect.gns3a | 2 +- gns3server/appliances/kerio-control.gns3a | 6 +- gns3server/appliances/macos-install.gns3a | 6 +- gns3server/appliances/microcore-linux.gns3a | 1 + gns3server/appliances/mikrotik-chr.gns3a | 74 +++++------ gns3server/appliances/mininet.gns3a | 30 ++--- gns3server/appliances/net_toolbox.gns3a | 2 +- gns3server/appliances/netem.gns3a | 1 + gns3server/appliances/onos.gns3a | 2 +- gns3server/appliances/op5-monitor.gns3a | 4 +- gns3server/appliances/openbsd.gns3a | 1 + gns3server/appliances/opennac.gns3a | 4 +- gns3server/appliances/openvswitch.gns3a | 2 +- gns3server/appliances/openwrt-realview.gns3a | 4 +- gns3server/appliances/openwrt.gns3a | 73 +++++------ gns3server/appliances/opnsense.gns3a | 2 +- gns3server/appliances/ostinato.gns3a | 1 + gns3server/appliances/pan-vm-fw.gns3a | 120 +++++++++++++++--- gns3server/appliances/parrot-os.gns3a | 5 +- gns3server/appliances/pfsense.gns3a | 3 +- .../appliances/riverbed-steelhead-cx.gns3a | 2 +- gns3server/appliances/security-onion.gns3a | 53 +++----- gns3server/appliances/sophos-iview.gns3a | 2 +- gns3server/appliances/sophos-utm.gns3a | 2 +- gns3server/appliances/sophos-xg.gns3a | 2 +- gns3server/appliances/tinycore-linux.gns3a | 6 +- gns3server/appliances/trendmicro-imsva.gns3a | 2 +- gns3server/appliances/ubuntu-cloud.gns3a | 6 +- gns3server/appliances/ubuntu-gui.gns3a | 1 - gns3server/appliances/ubuntu-server.gns3a | 2 +- gns3server/appliances/untangle.gns3a | 2 +- .../viptela-edge-genericx86-64.gns3a | 3 +- .../viptela-smart-genericx86-64.gns3a | 1 + .../viptela-vmanage-genericx86-64.gns3a | 8 +- gns3server/appliances/vpp.gns3a | 4 +- gns3server/appliances/vrin.gns3a | 1 + gns3server/appliances/vyos.gns3a | 3 +- .../appliances/watchguard-fireboxv.gns3a | 2 +- gns3server/appliances/watchguard-xtmv.gns3a | 2 +- gns3server/appliances/windows.gns3a | 2 +- gns3server/appliances/windows_server.gns3a | 1 - gns3server/appliances/zeroshell.gns3a | 1 + 112 files changed, 681 insertions(+), 521 deletions(-) diff --git a/gns3server/appliances/Simulator.gns3a b/gns3server/appliances/Simulator.gns3a index 93f4f9536..f2347c803 100644 --- a/gns3server/appliances/Simulator.gns3a +++ b/gns3server/appliances/Simulator.gns3a @@ -17,6 +17,7 @@ "adapter_type": "e1000", "adapters": 1, "ram": 2048, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "kvm": "require" @@ -46,7 +47,6 @@ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%30disk/", "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download" } - ], "versions": [ { @@ -63,6 +63,5 @@ "cdrom_image": "Parrot-security-3.11_amd64.iso" } } - -] + ] } diff --git a/gns3server/appliances/a10-vthunder.gns3a b/gns3server/appliances/a10-vthunder.gns3a index cea421352..e36c2749d 100644 --- a/gns3server/appliances/a10-vthunder.gns3a +++ b/gns3server/appliances/a10-vthunder.gns3a @@ -31,7 +31,8 @@ "version": "4.1.0.P9", "md5sum": "6ef0f69ba7a099a7f43b5815c2abc691", "filesize": 6311706624, - "download_url": "https://www.a10networks.com/vthunder-embed" }, + "download_url": "https://www.a10networks.com/vthunder-embed" + }, { "filename": "vThunder_410_P3.qcow2", "version": "4.1.0.P3", diff --git a/gns3server/appliances/aaa.gns3a b/gns3server/appliances/aaa.gns3a index b54b24a9d..4334d9af7 100644 --- a/gns3server/appliances/aaa.gns3a +++ b/gns3server/appliances/aaa.gns3a @@ -9,8 +9,8 @@ "status": "stable", "maintainer": "Andras Dosztal", "maintainer_email": "developers@gns3.net", - "symbol": "linux_guest.svg", "usage": "RADIUS users:\n- alice\n- bob\n\nTACACS+ users:\n- gns3 (role: admin)\n- readonly\n\nAll users, as well as the RADIUS/TACACS+ clients have the password 'gns3' set.", + "symbol": "linux_guest.svg", "docker": { "adapters": 1, "image": "adosztal/aaa:latest", diff --git a/gns3server/appliances/alcatel-7750.gns3a b/gns3server/appliances/alcatel-7750.gns3a index 4e841816a..1e2dc85b3 100644 --- a/gns3server/appliances/alcatel-7750.gns3a +++ b/gns3server/appliances/alcatel-7750.gns3a @@ -18,6 +18,7 @@ "adapter_type": "e1000", "adapters": 6, "ram": 2048, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", diff --git a/gns3server/appliances/arista-veos.gns3a b/gns3server/appliances/arista-veos.gns3a index d7a1953d4..2f53c07a3 100644 --- a/gns3server/appliances/arista-veos.gns3a +++ b/gns3server/appliances/arista-veos.gns3a @@ -19,11 +19,20 @@ "adapter_type": "e1000", "adapters": 13, "ram": 2048, + "hda_disk_interface": "ide", + "hdb_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require" }, "images": [ + { + "filename": "vEOS-lab-4.23.4.2M.vmdk", + "version": "4.23.4.2M", + "md5sum": "d21cbef4e39f1e783b13a926cb54a242", + "filesize": 454295552, + "download_url": "https://www.arista.com/en/support/software-download" + }, { "filename": "vEOS-lab-4.23.0.1F.vmdk", "version": "4.23.0.1F", @@ -47,7 +56,7 @@ }, { "filename": "vEOS-lab-4.21.1.1F.vmdk", - "version": "4.21.1.1F", + "version": "4.21.1F", "md5sum": "02bfb7e53781fd44ff02357f201586d9", "filesize": 358809600, "download_url": "https://www.arista.com/en/support/software-download" @@ -180,6 +189,13 @@ } ], "versions": [ + { + "name": "4.23.4.2M", + "images": { + "hda_disk_image": "Aboot-veos-serial-8.0.0.iso", + "hdb_disk_image": "vEOS-lab-4.23.4.2M.vmdk" + } + }, { "name": "4.23.0.1F", "images": { @@ -200,7 +216,7 @@ "hda_disk_image": "Aboot-veos-serial-8.0.0.iso", "hdb_disk_image": "vEOS-lab-4.22.0F.vmdk" } - }, + }, { "name": "4.21.1F", "images": { diff --git a/gns3server/appliances/aruba-arubaoscx.gns3a b/gns3server/appliances/aruba-arubaoscx.gns3a index 959ed3cc1..f9823abce 100644 --- a/gns3server/appliances/aruba-arubaoscx.gns3a +++ b/gns3server/appliances/aruba-arubaoscx.gns3a @@ -1,35 +1,33 @@ { "name": "ArubaOS-CX Simulation Software", "category": "multilayer_switch", - "status": "stable", - "product_name": "ArubaOS-CX Simulation Software", "description": "The ArubaOS-CX Simulation Software is a virtual platform to enable simulation of the ArubaOS-CX Network Operating System. Simulated networks can be created using many of the protocols in the ArubaOS-CX Operating system like OSPF, BGP (inc. EVPN). Key features like the Aruba Network Analytics Engine and the REST API can be simulated, providing a lightweight development platform to building the modern network.", - "maintainer_email": "vincent.giles@hpe.com", - "vendor_url": "arubanetworks.com", "vendor_name": "HPE Aruba", + "vendor_url": "arubanetworks.com", + "product_name": "ArubaOS-CX Simulation Software", + "registry_version": 4, + "status": "stable", "availability": "service-contract", "maintainer": "Aruba", - "registry_version": 4, + "maintainer_email": "vincent.giles@hpe.com", "usage": "Default username admin has to be set at first login.", "symbol": ":/symbols/route_switch_processor.svg", "first_port_name": "mgmt", "port_name_format": "1/1/{port1}", - "qemu": { - "arch": "x86_64", - "ram": 4096, + "adapter_type": "virtio-net-pci", "adapters": 8, + "ram": 4096, + "cpus": 2, + "hda_disk_interface": "ide", "hdb_disk_interface": "ide", "hdc_disk_interface": "ide", - "hda_disk_interface": "ide", - "cpus": 2, - "kvm": "require", - "adapter_type": "virtio-net-pci", + "arch": "x86_64", "console_type": "vnc", + "kvm": "require", "options": "-nographic", "process_priority": "normal" - }, - + }, "images": [ { "filename": "arubaoscx-disk-image-genericx86-p4-20200311173823.vmdk", @@ -45,9 +43,7 @@ "filesize": 287734784, "download_url": "http://support.arubanetworks.com/" } - ], - "versions": [ { "name": "10.04.1000", diff --git a/gns3server/appliances/aruba-vmc.gns3a b/gns3server/appliances/aruba-vmc.gns3a index 9a81cac7a..35052627d 100644 --- a/gns3server/appliances/aruba-vmc.gns3a +++ b/gns3server/appliances/aruba-vmc.gns3a @@ -1,19 +1,32 @@ { - "versions": [ - { - "name": "8.2.1.1", - "images": { - "hda_disk_image": "ArubaOS_VMC_8.2.1.1_65265-disk1.qcow2", - "hdb_disk_image": "ArubaOS_VMC_8.2.1.1_65265-disk2.qcow2" - } - } - ], - "status": "stable", "name": "Aruba VMC", - "product_name": "Aruba VMC", - "maintainer_email": "gary.ossewaarde@gmail.com", - "vendor_url": "arubanetworks.com", + "category": "guest", + "description": "Aruba Virtual Mobility Controller", "vendor_name": "HPE Aruba", + "vendor_url": "arubanetworks.com", + "product_name": "Aruba VMC", + "registry_version": 4, + "status": "stable", + "availability": "service-contract", + "maintainer": "Gary Ossewaarde", + "maintainer_email": "gary.ossewaarde@gmail.com", + "first_port_name": "mgmt", + "port_name_format": "GE0/0/{0}", + "qemu": { + "adapter_type": "e1000", + "adapters": 4, + "ram": 6144, + "cpus": 3, + "hda_disk_interface": "ide", + "hdb_disk_interface": "ide", + "hdc_disk_interface": "ide", + "arch": "x86_64", + "console_type": "vnc", + "kernel_command_line": "-smp cores=3,threads=1,sockets=1 -cpu host -nographic", + "kvm": "require", + "options": "-smp cores=3,threads=1,sockets=1 -cpu host -nographic", + "process_priority": "normal" + }, "images": [ { "filename": "ArubaOS_VMC_8.2.1.1_65265-disk1.qcow2", @@ -29,28 +42,14 @@ "filesize": 19202048, "download_url": "http://support.arubanetworks.com/" } - ], - "port_name_format": "GE0/0/{0}", - "qemu": { - "arch": "x86_64", - "ram": 6144, - "adapters": 4, - "hdb_disk_interface": "ide", - "hdc_disk_interface": "ide", - "hda_disk_interface": "ide", - "cpus": 3, - "kvm": "require", - "kernel_command_line": "-smp cores=3,threads=1,sockets=1 -cpu host -nographic", - "adapter_type": "e1000", - "console_type": "vnc", - "options": "-smp cores=3,threads=1,sockets=1 -cpu host -nographic", - "process_priority": "normal" - }, - "availability": "service-contract", - "category": "guest", - "maintainer": "Gary Ossewaarde", - "description": "Aruba Virtual Mobility Controller", - "first_port_name": "mgmt", - "registry_version": 4 + "versions": [ + { + "name": "8.2.1.1", + "images": { + "hda_disk_image": "ArubaOS_VMC_8.2.1.1_65265-disk1.qcow2", + "hdb_disk_image": "ArubaOS_VMC_8.2.1.1_65265-disk2.qcow2" + } + } + ] } diff --git a/gns3server/appliances/bigswitch-bigcloud-fabric.gns3a b/gns3server/appliances/bigswitch-bigcloud-fabric.gns3a index 28b1bdd26..8da0e8679 100644 --- a/gns3server/appliances/bigswitch-bigcloud-fabric.gns3a +++ b/gns3server/appliances/bigswitch-bigcloud-fabric.gns3a @@ -1,7 +1,7 @@ { "name": "Big Cloud Fabric", "category": "router", - "description": "Big Cloud Fabric\u2122 is the industry\u2019s first data center fabric built using whitebox or britebox switches and SDN controller technology. Embracing hyperscale data center design principles, Big Cloud Fabric solution enables rapid innovation, ease of provisioning and management, while reducing overall costs, making it ideal for current and next generation data centers. Big Cloud Fabric is designed from the ground up to satisfy the requirements of physical, virtual, containerized, or a combination of such workloads. Some of the typical OpenStack or VMware data center workloads include NFV, High Performance Computing, Big Data and Software Defined Storage deployments.", + "description": "Big Cloud Fabric\u2122 is the industry's first data center fabric built using whitebox or britebox switches and SDN controller technology. Embracing hyperscale data center design principles, Big Cloud Fabric solution enables rapid innovation, ease of provisioning and management, while reducing overall costs, making it ideal for current and next generation data centers. Big Cloud Fabric is designed from the ground up to satisfy the requirements of physical, virtual, containerized, or a combination of such workloads. Some of the typical OpenStack or VMware data center workloads include NFV, High Performance Computing, Big Data and Software Defined Storage deployments.", "vendor_name": "Big Switch Networks", "vendor_url": "http://www.bigswitch.com/", "documentation_url": "http://www.bigswitch.com/support", @@ -16,6 +16,7 @@ "adapter_type": "e1000", "adapters": 8, "ram": 256, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require" @@ -23,7 +24,7 @@ "images": [ { "filename": "BCF-Controller-BCF-CE-3.5.0-2016-01-22.qcow2", - "version": "3.5.0-2016-01-22", + "version": "3.5.0", "md5sum": "d1c2ecf0db8101f6b6d311470697545a", "filesize": 2860253184, "download_url": "http://www.bigswitch.com/community-edition" @@ -31,7 +32,7 @@ ], "versions": [ { - "name": "3.5", + "name": "3.5.0", "images": { "hda_disk_image": "BCF-Controller-BCF-CE-3.5.0-2016-01-22.qcow2" } diff --git a/gns3server/appliances/bird.gns3a b/gns3server/appliances/bird.gns3a index 80995db3b..c2a92202b 100644 --- a/gns3server/appliances/bird.gns3a +++ b/gns3server/appliances/bird.gns3a @@ -15,6 +15,7 @@ "adapter_type": "e1000", "adapters": 4, "ram": 128, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "allow" diff --git a/gns3server/appliances/brocade-vadx.gns3a b/gns3server/appliances/brocade-vadx.gns3a index 41481d816..865c39598 100644 --- a/gns3server/appliances/brocade-vadx.gns3a +++ b/gns3server/appliances/brocade-vadx.gns3a @@ -1,13 +1,12 @@ { "name": "Brocade Virtual ADX", "category": "firewall", - "status": "experimental", - "maintainer": "GNS3 team", - "description": "The Brocade Virtual ADX (vADX™) is a full-fledged Application Delivery Controller (ADC) platform with a virtual footprint that leverages Intel advanced technology to deliver remarkable performance. The software is designed to run on standardsbased hypervisors, hosted on Intel x86 COTS hardware. It offers a complete suite of Layer 4 and Layer 7 server load balancing capabilities and application security services with extensible management via rich SOAP/XML APIs.", + "description": "The Brocade Virtual ADX (vADX\u2122) is a full-fledged Application Delivery Controller (ADC) platform with a virtual footprint that leverages Intel advanced technology to deliver remarkable performance. The software is designed to run on standardsbased hypervisors, hosted on Intel x86 COTS hardware. It offers a complete suite of Layer 4 and Layer 7 server load balancing capabilities and application security services with extensible management via rich SOAP/XML APIs.", "vendor_name": "Brocade", "vendor_url": "https://www.brocade.com", "product_name": "Virtual ADX", "registry_version": 3, + "status": "experimental", "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Login is root, type vadx-console to access to the console", @@ -17,6 +16,7 @@ "adapter_type": "virtio-net-pci", "adapters": 8, "ram": 2048, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "kvm": "require", @@ -26,8 +26,8 @@ { "filename": "SSR03100KVM.qcow2", "version": "03100", - "filesize": 3327066112, "md5sum": "40e5717463fb2f5d1bb7c4de7df15c5c", + "filesize": 3327066112, "download_url": "http://www1.brocade.com/forms/jsp/virtual-adx-download/index.jsp" } ], diff --git a/gns3server/appliances/brocade-vtm.gns3a b/gns3server/appliances/brocade-vtm.gns3a index 71b849a0d..f502b44d9 100644 --- a/gns3server/appliances/brocade-vtm.gns3a +++ b/gns3server/appliances/brocade-vtm.gns3a @@ -133,4 +133,3 @@ } ] } - diff --git a/gns3server/appliances/bsdrp.gns3a b/gns3server/appliances/bsdrp.gns3a index 1e9a5863a..f5735424b 100644 --- a/gns3server/appliances/bsdrp.gns3a +++ b/gns3server/appliances/bsdrp.gns3a @@ -14,6 +14,7 @@ "adapter_type": "e1000", "adapters": 4, "ram": 256, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "allow" diff --git a/gns3server/appliances/centos-cloud.gns3a b/gns3server/appliances/centos-cloud.gns3a index c2c60b927..daaf0d377 100644 --- a/gns3server/appliances/centos-cloud.gns3a +++ b/gns3server/appliances/centos-cloud.gns3a @@ -27,7 +27,7 @@ "images": [ { "filename": "CentOS-7-x86_64-GenericCloud-1809.qcow2", - "version": "7-1809", + "version": "7 (1809)", "md5sum": "da79108d1324b27bd1759362b82fbe40", "filesize": 914948096, "download_url": "https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1809.qcow2" diff --git a/gns3server/appliances/centos7.gns3a b/gns3server/appliances/centos7.gns3a index f46edfee4..1fbec7c84 100644 --- a/gns3server/appliances/centos7.gns3a +++ b/gns3server/appliances/centos7.gns3a @@ -26,7 +26,6 @@ "options": "-vga qxl" }, "images": [ - { "filename": "CentOS 7-18.10 (64bit).vmdk", "version": "7-1810", @@ -34,7 +33,6 @@ "filesize": 4886233088, "download_url": "http://www.osboxes.org/centos/" }, - { "filename": "CentOS 7-1804 (64bit).vmdk", "version": "7-1804", @@ -42,7 +40,6 @@ "filesize": 4701356032, "download_url": "http://www.osboxes.org/centos/" }, - { "filename": "CentOS 7-1611 (64bit).vmdk", "version": "7-1611", @@ -58,14 +55,12 @@ "hda_disk_image": "CentOS 7-18.10 (64bit).vmdk" } }, - { "name": "7-1804", "images": { "hda_disk_image": "CentOS 7-1804 (64bit).vmdk" } }, - { "name": "7-1611", "images": { diff --git a/gns3server/appliances/checkpoint-gaia.gns3a b/gns3server/appliances/checkpoint-gaia.gns3a index 0fff9b43b..fb90ea3aa 100644 --- a/gns3server/appliances/checkpoint-gaia.gns3a +++ b/gns3server/appliances/checkpoint-gaia.gns3a @@ -12,10 +12,11 @@ "maintainer_email": "developers@gns3.net", "usage": "At boot choose the install on disk options. You need to open quickly the terminal after launching the appliance if you want to see the menu. You need a web browser in order to finalize the installation. You can use the firefox appliance for this.", "qemu": { - "cpus": 2, "adapter_type": "e1000", "adapters": 8, "ram": 4096, + "cpus": 2, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "boot_priority": "dc", @@ -75,6 +76,5 @@ "cdrom_image": "Check_Point_R77.20_T124_Install.Gaia.iso" } } - ] } diff --git a/gns3server/appliances/cisco-asa.gns3a b/gns3server/appliances/cisco-asa.gns3a index 9dc54da41..8ccb98310 100644 --- a/gns3server/appliances/cisco-asa.gns3a +++ b/gns3server/appliances/cisco-asa.gns3a @@ -17,6 +17,7 @@ "adapter_type": "i82559er", "adapters": 4, "ram": 512, + "hda_disk_interface": "ide", "arch": "i386", "console_type": "telnet", "kernel_command_line": "ide_generic.probe_mask=0x01 ide_core.chs=0.0:980,16,32 auto nousb console=ttyS0,9600 bigphysarea=65536 ide1=noprobe no-hlt", diff --git a/gns3server/appliances/cisco-asav.gns3a b/gns3server/appliances/cisco-asav.gns3a index a1beb05ca..8093a531d 100644 --- a/gns3server/appliances/cisco-asav.gns3a +++ b/gns3server/appliances/cisco-asav.gns3a @@ -19,9 +19,9 @@ "adapter_type": "e1000", "adapters": 8, "ram": 2048, + "hda_disk_interface": "virtio", "arch": "x86_64", "console_type": "vnc", - "hda_disk_interface": "virtio", "kvm": "require" }, "images": [ diff --git a/gns3server/appliances/cisco-csr1000v.gns3a b/gns3server/appliances/cisco-csr1000v.gns3a index 7f5f8b767..07df2292b 100644 --- a/gns3server/appliances/cisco-csr1000v.gns3a +++ b/gns3server/appliances/cisco-csr1000v.gns3a @@ -17,12 +17,13 @@ "adapter_type": "vmxnet3", "adapters": 4, "ram": 3072, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require" }, "images": [ - { + { "filename": "csr1000v-universalk9.16.12.03-serial.qcow2", "version": "16.12.3", "md5sum": "1fc380569ad3cc145fb9cbc993b2eb32", @@ -49,7 +50,7 @@ "md5sum": "7a07a182178243c1c107e68f04ecd8b5", "filesize": 920518656, "download_url": "https://software.cisco.com/download/home/284364978/type/282046477/release/Fuji-16.9.5" - }, + }, { "filename": "csr1000v-universalk9.16.09.01-serial.qcow2", "version": "16.9.1", @@ -77,7 +78,7 @@ "md5sum": "2aba82d78091b4603224a13710399447", "filesize": 1573322752, "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=282046477&release=Everest-16.6.7" - }, + }, { "filename": "csr1000v-universalk9.16.06.06-serial.qcow2", "version": "16.6.6", @@ -162,7 +163,7 @@ "images": { "hda_disk_image": "csr1000v-universalk9.16.12.03-serial.qcow2" } - }, + }, { "name": "16.12.1a", "images": { @@ -180,7 +181,7 @@ "images": { "hda_disk_image": "csr1000v-universalk9.16.09.05-serial.qcow2" } - }, + }, { "name": "16.9.1", "images": { @@ -204,7 +205,7 @@ "images": { "hda_disk_image": "csr1000v-universalk9.16.06.07-serial.qcow2" } - }, + }, { "name": "16.6.6", "images": { @@ -253,7 +254,7 @@ "hda_disk_image": "csr1000v-universalk9.16.3.1-build2.qcow2" } }, - { + { "name": "16.3.2", "images": { "hda_disk_image": "csr1000v-universalk9.16.03.02.qcow2" diff --git a/gns3server/appliances/cisco-dcnm.gns3a b/gns3server/appliances/cisco-dcnm.gns3a index 8146ab435..4745abbe5 100644 --- a/gns3server/appliances/cisco-dcnm.gns3a +++ b/gns3server/appliances/cisco-dcnm.gns3a @@ -1,7 +1,7 @@ { "name": "Cisco DCNM", "category": "guest", - "description": "Cisco Data Center Network Manager (DCNM) 10 unifies and automates Cisco Nexus and Cisco MDS 9000 Family multitenant infrastructure for data center management across Cisco Nexus 5000, 6000, 7000, and 9000 Series Switches in NX‑OS mode using Cisco NX-OS Software as well as across Cisco MDS 9100 and 9300 Series Multilayer Fabric Switches, 9200 Series Multiservice Switches, and 9500 and 9700 Series Multilayer Directors. Data Center Network Manager 10 lets you manage very large numbers of devices while providing ready-to-use management and automation capabilities plus Virtual Extensible LAN (VXLAN) overlay visibility into Cisco Nexus LAN fabrics.", + "description": "Cisco Data Center Network Manager (DCNM) 10 unifies and automates Cisco Nexus and Cisco MDS 9000 Family multitenant infrastructure for data center management across Cisco Nexus 5000, 6000, 7000, and 9000 Series Switches in NX-OS mode using Cisco NX-OS Software as well as across Cisco MDS 9100 and 9300 Series Multilayer Fabric Switches, 9200 Series Multiservice Switches, and 9500 and 9700 Series Multilayer Directors. Data Center Network Manager 10 lets you manage very large numbers of devices while providing ready-to-use management and automation capabilities plus Virtual Extensible LAN (VXLAN) overlay visibility into Cisco Nexus LAN fabrics.", "vendor_name": "Cisco", "vendor_url": "http://www.cisco.com/", "documentation_url": "http://www.cisco.com/c/en/us/support/cloud-systems-management/data-center-network-manager-10/model.html", @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default credentials: root / cisco123", - "port_name_format": "eth{0}", "symbol": "mgmt_station.svg", + "port_name_format": "eth{0}", "qemu": { "adapter_type": "e1000", "adapters": 3, diff --git a/gns3server/appliances/cisco-fcnf.gns3a b/gns3server/appliances/cisco-fcnf.gns3a index 74a0ce8fc..83e5ae0b0 100644 --- a/gns3server/appliances/cisco-fcnf.gns3a +++ b/gns3server/appliances/cisco-fcnf.gns3a @@ -1,7 +1,7 @@ { "name": "Cisco Flow Collector for NetFlow", "category": "firewall", - "description": "Cisco Stealthwatch is the most comprehensive visibility and network traffic security analytics solution that uses enterprise telemetry from the existing network infrastructure. It provides advanced threat detection, accelerated threat response, and simplified network segmentation using multilayer machine learning and entity modeling. With advanced behavioral analytics, you’ll always know who is on your network and what they are doing.\n\nAt the heart of the Stealthwatch System is the highly scalable Stealthwatch Flow Collector. The Flow Collector is available as either a physical or a virtual appliance. The Flow Collector VE performs the same functions as its physical counterpart, but in a virtual environment. The Stealthwatch Flow Collector for NetFlow gathers NetFlow, cFlow, J-Flow, Packeteer 2, NetStream, and IPFIX data. To achieve full network visibility with a traditional probe-based approach, you would need to install a probe for each router or switch on your network. This results in many costly hardware installations. Conversely, Stealthwatch’s flow-based approach provides you with full network visibility at a fraction of the cost. Each Flow Collector can process data for as many as 1,000,000 hosts from up to 2,000 flow exporters, depending on the Flow Collector model and license restrictions. ", + "description": "Cisco Stealthwatch is the most comprehensive visibility and network traffic security analytics solution that uses enterprise telemetry from the existing network infrastructure. It provides advanced threat detection, accelerated threat response, and simplified network segmentation using multilayer machine learning and entity modeling. With advanced behavioral analytics, you'll always know who is on your network and what they are doing.\n\nAt the heart of the Stealthwatch System is the highly scalable Stealthwatch Flow Collector. The Flow Collector is available as either a physical or a virtual appliance. The Flow Collector VE performs the same functions as its physical counterpart, but in a virtual environment. The Stealthwatch Flow Collector for NetFlow gathers NetFlow, cFlow, J-Flow, Packeteer 2, NetStream, and IPFIX data. To achieve full network visibility with a traditional probe-based approach, you would need to install a probe for each router or switch on your network. This results in many costly hardware installations. Conversely, Stealthwatch's flow-based approach provides you with full network visibility at a fraction of the cost. Each Flow Collector can process data for as many as 1,000,000 hosts from up to 2,000 flow exporters, depending on the Flow Collector model and license restrictions. ", "vendor_name": "Cisco", "vendor_url": "http://www.cisco.com/", "documentation_url": "https://www.cisco.com/c/en/us/support/security/stealthwatch/tsd-products-support-series-home.html", @@ -14,12 +14,12 @@ "usage": "Starting Flow Collector for NetFlow will start an installation of FCNF onto a blank 200GB Drive.\nDefault console username/password: sysadmin/lan1cope.\nDefault web username/password: admin/lan411cope.", "symbol": ":/symbols/asa.svg", "first_port_name": "eth0", - "port_name_format": "eth{port1}", + "port_name_format": "eth{port1}", "qemu": { - "cpus": 2, "adapter_type": "e1000", "adapters": 1, "ram": 8192, + "cpus": 2, "hda_disk_interface": "scsi", "arch": "x86_64", "console_type": "vnc", diff --git a/gns3server/appliances/cisco-fmcv.gns3a b/gns3server/appliances/cisco-fmcv.gns3a index 4aa9bef21..87a86c962 100644 --- a/gns3server/appliances/cisco-fmcv.gns3a +++ b/gns3server/appliances/cisco-fmcv.gns3a @@ -11,116 +11,115 @@ "status": "experimental", "availability": "service-contract", "maintainer": "Community", - "maintainer_email":"", + "maintainer_email": "", "usage": "BE PATIENT\nOn first boot FMCv generates about 6GB of data. This can take 30 minutes or more. Plan on a long wait after the following line in the boot up:\n\n usbcore: registered new interface driver usb-storage\n\nInitial IP address: 192.168.45.45.\n\nDefault username/password: admin/Admin123.", "symbol": "cisco-fmcv.svg", "first_port_name": "eth0", "port_name_format": "eth{port1}", "qemu": { - "cpus": 4, "adapter_type": "virtio-net-pci", "adapters": 1, "ram": 8192, + "cpus": 4, + "hda_disk_interface": "scsi", "arch": "x86_64", "console_type": "telnet", - "hda_disk_interface": "scsi", "kvm": "require", "options": "" }, "images": [ - { + { "filename": "Cisco_Firepower_Management_Center_Virtual-6.0.0-1005-disk1.vmdk", "version": "6.0.0 (1005) vmdk", "md5sum": "3fed60f1e7d6910c22d13e966acebd7f", "filesize": 1681540608, "download_url": "https://software.cisco.com/download/" - }, - { + }, + { "filename": "Cisco_Firepower_Management_Center_Virtual-6.1.0-330.qcow2", "version": "6.1.0 (330)", "md5sum": "e3c64179ec46671caeb7ac3e4e58064f", "filesize": 1909391360, "download_url": "https://software.cisco.com/download/" - }, - { + }, + { "filename": "Cisco_Firepower_Management_Center_Virtual_VMware-6.1.0-330-disk1.vmdk", "version": "6.1.0 (330) vmdk", "md5sum": "8bc77b317cf0007dcbb0f187c1a0c01f", "filesize": 1938142720, "download_url": "https://software.cisco.com/download/" - }, - { + }, + { "filename": "Cisco_Firepower_Management_Center_Virtual-6.2.0-362.qcow2", "version": "6.2.0 (362)", "md5sum": "26e66882bf5f68adc0eca2f6bef7b613", "filesize": 1949302784, "download_url": "https://software.cisco.com/download/" - }, - { + }, + { "filename": "Cisco_Firepower_Management_Center_Virtual_VMware-6.2.0-362-disk1.vmdk", "version": "6.2.0 (362) vmdk", "md5sum": "772165cbda3c183bb0e77a1923dd4d09", "filesize": 1983376384, "download_url": "https://software.cisco.com/download/" - }, - { + }, + { "filename": "Cisco_Firepower_Management_Center_Virtual-6.2.1-342.qcow2", "version": "6.2.1 (342)", "md5sum": "29ebbbe71a6b766f6dea81e5ca32c275", "filesize": 2113732608, "download_url": "https://software.cisco.com/download/" - }, - { + }, + { "filename": "Cisco_Firepower_Management_Center_Virtual_VMware-6.2.1-342-disk1.vmdk", "version": "6.2.1 (342) vmdk", "md5sum": "4cf5b7fd68075b6f7ee0dd41a4029ca0", "filesize": 2150017536, "download_url": "https://software.cisco.com/download/" - } - + } ], "versions": [ - { + { "name": "6.0.0 (1005) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual-6.0.0-1005-disk1.vmdk" } - }, - { + }, + { "name": "6.1.0 (330)", "images": { "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual-6.1.0-330.qcow2" } - }, - { + }, + { "name": "6.1.0 (330) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual_VMware-6.1.0-330-disk1.vmdk" } - }, - { + }, + { "name": "6.2.0 (362)", "images": { "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual-6.2.0-362.qcow2" } - }, - { + }, + { "name": "6.2.0 (362) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual_VMware-6.2.0-362-disk1.vmdk" } - }, - { + }, + { "name": "6.2.1 (342)", "images": { "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual-6.2.1-342.qcow2" } - }, + }, { "name": "6.2.1 (342) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual_VMware-6.2.1-342-disk1.vmdk" } - } + } ] } diff --git a/gns3server/appliances/cisco-fsve.gns3a b/gns3server/appliances/cisco-fsve.gns3a index a7286dc89..d5ce9c912 100644 --- a/gns3server/appliances/cisco-fsve.gns3a +++ b/gns3server/appliances/cisco-fsve.gns3a @@ -1,7 +1,7 @@ { "name": "Cisco Flow Sensor", "category": "firewall", - "description": "Cisco Stealthwatch is the most comprehensive visibility and network traffic security analytics solution that uses enterprise telemetry from the existing network infrastructure. It provides advanced threat detection, accelerated threat response, and simplified network segmentation using multilayer machine learning and entity modeling. With advanced behavioral analytics, you’ll always know who is on your network and what they are doing.\n\nUsing the same technology as the Stealthwatch Flow Sensor appliance, the Flow Sensor VE is a virtual appliance that provides visibility into virtual environments, generating flow data for areas that are not flow-enabled. ", + "description": "Cisco Stealthwatch is the most comprehensive visibility and network traffic security analytics solution that uses enterprise telemetry from the existing network infrastructure. It provides advanced threat detection, accelerated threat response, and simplified network segmentation using multilayer machine learning and entity modeling. With advanced behavioral analytics, you'll always know who is on your network and what they are doing.\n\nUsing the same technology as the Stealthwatch Flow Sensor appliance, the Flow Sensor VE is a virtual appliance that provides visibility into virtual environments, generating flow data for areas that are not flow-enabled. ", "vendor_name": "Cisco", "vendor_url": "http://www.cisco.com/", "documentation_url": "https://www.cisco.com/c/en/us/support/security/stealthwatch/tsd-products-support-series-home.html", @@ -14,12 +14,12 @@ "usage": "Starting Flow Sensor will start an installation of FSVE onto a blank 100GB Drive.\nDefault console username/password: sysadmin/lan1cope.\nDefault web username/password: admin/lan411cope.", "symbol": ":/symbols/asa.svg", "first_port_name": "eth0", - "port_name_format": "eth{port1}", + "port_name_format": "eth{port1}", "qemu": { - "cpus": 1, "adapter_type": "e1000", "adapters": 2, "ram": 8192, + "cpus": 1, "hda_disk_interface": "scsi", "arch": "x86_64", "console_type": "vnc", diff --git a/gns3server/appliances/cisco-ftdv.gns3a b/gns3server/appliances/cisco-ftdv.gns3a index 21b806e64..41e65f349 100644 --- a/gns3server/appliances/cisco-ftdv.gns3a +++ b/gns3server/appliances/cisco-ftdv.gns3a @@ -1,7 +1,7 @@ { "name": "Cisco FTDv", "category": "firewall", - "description": "Cisco Firepower Threat Defense Virtual NGFW appliances combine Cisco's proven network firewall with the industry’s most effective next-gen IPS and advanced malware protection. All so you can get more visibility, be more flexible, save more, and protect better.", + "description": "Cisco Firepower Threat Defense Virtual NGFW appliances combine Cisco's proven network firewall with the industry's most effective next-gen IPS and advanced malware protection. All so you can get more visibility, be more flexible, save more, and protect better.", "vendor_name": "Cisco Systems", "vendor_url": "http://www.cisco.com/", "documentation_url": "http://www.cisco.com/c/en/us/td/docs/security/firepower/quick_start/kvm/ftdv-kvm-qsg.html", @@ -17,83 +17,82 @@ "first_port_name": "Gigabit0/0 (Mgmt)", "port_name_format": "Gigabit0/{port1}", "qemu": { - "cpus": 4, "adapter_type": "e1000", "adapters": 10, "ram": 8192, + "cpus": 4, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", - "hda_disk_interface": "ide", "kvm": "require" }, "images": [ - { + { "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.2.0-363.qcow2", "version": "6.2.0 (363)", "md5sum": "fafdae94ead07b23d6c8dc5f7a731e74", "filesize": 1022885888, "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.2.0&relind=AVAILABLE&rellifecycle=&reltype=latest" - }, - { + }, + { "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.2.0-363.vmdk", "version": "6.2.0 (363) vmdk", "md5sum": "10297ab20526a8b1586c6ce1cd3d9cbd", "filesize": 1042470912, "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.2.0&relind=AVAILABLE&rellifecycle=&reltype=latest" - }, - { + }, + { "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.1.0-330.qcow2", "version": "6.1.0 (330)", "md5sum": "386ab2b3d6d1d28fd2cd03a83df5e00f", "filesize": 1004601344, "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.1.0&relind=AVAILABLE&rellifecycle=&reltype=latest" - }, - { + }, + { "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.1.0-330.vmdk", "version": "6.1.0 (330) vmdk", "md5sum": "c1fa58448841b33d5eed6854dc608816", "filesize": 1024162816, "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.1.0&relind=AVAILABLE&rellifecycle=&reltype=latest" - }, - { + }, + { "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.0.1-1213.vmdk", "version": "6.0.1 (1213) vmdk", "md5sum": "bc53461e2ec344814e41a6a8d3a5f774", "filesize": 714577408, "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.0.1&relind=AVAILABLE&rellifecycle=&reltype=latest" - } - + } ], "versions": [ - { + { "name": "6.2.0 (363)", "images": { "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.2.0-363.qcow2" } - }, - { + }, + { "name": "6.2.0 (363) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.2.0-363.vmdk" } - }, - { + }, + { "name": "6.1.0 (330)", "images": { "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.1.0-330.qcow2" } - }, - { + }, + { "name": "6.1.0 (330) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.1.0-330.vmdk" } - }, - { + }, + { "name": "6.0.1 (1213) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.0.1-1213.vmdk" } - } + } ] } diff --git a/gns3server/appliances/cisco-iosvl2.gns3a b/gns3server/appliances/cisco-iosvl2.gns3a index 3a4361307..e7bb436f0 100644 --- a/gns3server/appliances/cisco-iosvl2.gns3a +++ b/gns3server/appliances/cisco-iosvl2.gns3a @@ -23,7 +23,7 @@ "kvm": "require" }, "images": [ - { + { "filename": "vios_l2-adventerprisek9-m.SSA.high_iron_20180619.qcow2", "version": "15.2.1", "md5sum": "14b981002e40b660f2d7400401e04c14", @@ -46,7 +46,7 @@ } ], "versions": [ - { + { "name": "15.2.1", "images": { "hda_disk_image": "vios_l2-adventerprisek9-m.SSA.high_iron_20180619.qcow2" diff --git a/gns3server/appliances/cisco-iosxrv.gns3a b/gns3server/appliances/cisco-iosxrv.gns3a index f21331b17..72276e588 100644 --- a/gns3server/appliances/cisco-iosxrv.gns3a +++ b/gns3server/appliances/cisco-iosxrv.gns3a @@ -18,6 +18,7 @@ "adapter_type": "e1000", "adapters": 9, "ram": 3072, + "hda_disk_interface": "ide", "arch": "i386", "console_type": "telnet", "kvm": "require" diff --git a/gns3server/appliances/cisco-iosxrv9k.gns3a b/gns3server/appliances/cisco-iosxrv9k.gns3a index 307a873d8..b8598ae44 100644 --- a/gns3server/appliances/cisco-iosxrv9k.gns3a +++ b/gns3server/appliances/cisco-iosxrv9k.gns3a @@ -18,6 +18,7 @@ "adapter_type": "virtio-net-pci", "adapters": 7, "ram": 16384, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", @@ -66,7 +67,8 @@ "filesize": 1311703040, "download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/6.4.2" }, - { "filename": "xrv9k-fullk9-x-6.4.1.qcow2", + { + "filename": "xrv9k-fullk9-x-6.4.1.qcow2", "version": "6.4.1", "md5sum": "9c56b684e307706005a503e289cb9317", "filesize": 1304887296, diff --git a/gns3server/appliances/cisco-ise.gns3a b/gns3server/appliances/cisco-ise.gns3a index 732de0410..54e370b03 100644 --- a/gns3server/appliances/cisco-ise.gns3a +++ b/gns3server/appliances/cisco-ise.gns3a @@ -15,10 +15,10 @@ "symbol": "cisco-ise.svg", "port_name_format": "GigabitEthernet{0}", "qemu": { - "cpus": 2, "adapter_type": "e1000", "adapters": 6, "ram": 8192, + "cpus": 2, "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", @@ -55,7 +55,7 @@ "filesize": 8174278656, "download_url": "https://software.cisco.com/download/home/283801620/type/283802505/release/2.3.0" }, - { + { "filename": "ise-2.2.0.470.SPA.x86_64.iso", "version": "2.2.0.470", "md5sum": "7fe5e730d0a51ef66e69d1463717ff3f", @@ -121,7 +121,7 @@ "cdrom_image": "ise-2.3.0.298.SPA.x86_64.iso" } }, - { + { "name": "2.2.0.470", "images": { "hda_disk_image": "empty200G.qcow2", diff --git a/gns3server/appliances/cisco-ngipsv.gns3a b/gns3server/appliances/cisco-ngipsv.gns3a index cefe1a8fe..1c9b7c8af 100644 --- a/gns3server/appliances/cisco-ngipsv.gns3a +++ b/gns3server/appliances/cisco-ngipsv.gns3a @@ -17,57 +17,56 @@ "first_port_name": "eth0 (Mgmt)", "port_name_format": "eth{port1}", "qemu": { - "cpus": 4, "adapter_type": "vmxnet3", "adapters": 10, "ram": 8192, + "cpus": 4, + "hda_disk_interface": "scsi", "arch": "x86_64", "console_type": "telnet", - "hda_disk_interface": "scsi", "kvm": "require" }, "images": [ - { + { "filename": "Cisco_Firepower_NGIPSv_VMware-6.0.0-1005-disk1.vmdk", "version": "6.0.0 (1005) vmdk", "md5sum": "72ed34d39c58a9d5ad1c6197d1ff9a62", "filesize": 804301312, "download_url": "https://software.cisco.com/download/release.html?mdfid=286259690&softwareid=286271056&release=6.0.0.0&relind=AVAILABLE&rellifecycle=&reltype=latest" - }, - { + }, + { "filename": "Cisco_Firepower_NGIPSv_VMware-6.1.0-330-disk1.vmdk", "version": "6.1.0 (330) vmdk", "md5sum": "7a771cc8c37a0371285f24c25f9886f0", "filesize": 860411392, "download_url": "https://software.cisco.com/download/release.html?mdfid=286259690&softwareid=286271056&release=6.1.0&relind=AVAILABLE&rellifecycle=&reltype=latest" - }, - { + }, + { "filename": "Cisco_Firepower_NGIPSv_VMware-6.2.0-362-disk1.vmdk", "version": "6.2.0 (362) vmdk", "md5sum": "46f629149e11ac5c224bae0486c7e406", "filesize": 877626368, "download_url": "https://software.cisco.com/download/release.html?mdfid=286259690&softwareid=286271056&release=6.2.0&relind=AVAILABLE&rellifecycle=&reltype=latest" - } + } ], "versions": [ - { + { "name": "6.2.0 (362) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_NGIPSv_VMware-6.2.0-362-disk1.vmdk" } - }, - { + }, + { "name": "6.1.0 (330) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_NGIPSv_VMware-6.1.0-330-disk1.vmdk" } - }, - { + }, + { "name": "6.0.0 (1005) vmdk", "images": { "hda_disk_image": "Cisco_Firepower_NGIPSv_VMware-6.0.0-1005-disk1.vmdk" } - } - + } ] } diff --git a/gns3server/appliances/cisco-nxosv.gns3a b/gns3server/appliances/cisco-nxosv.gns3a index 9785f62de..160700089 100644 --- a/gns3server/appliances/cisco-nxosv.gns3a +++ b/gns3server/appliances/cisco-nxosv.gns3a @@ -17,6 +17,7 @@ "adapter_type": "e1000", "adapters": 16, "ram": 3072, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require" diff --git a/gns3server/appliances/cisco-nxosv9k.gns3a b/gns3server/appliances/cisco-nxosv9k.gns3a index 3557a6d64..5fde40587 100644 --- a/gns3server/appliances/cisco-nxosv9k.gns3a +++ b/gns3server/appliances/cisco-nxosv9k.gns3a @@ -11,14 +11,14 @@ "availability": "service-contract", "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", - "first_port_name": "mgmt0", "usage": "The old (I5) versions might require 8192 MB of RAM; adjust it if necessary.", + "first_port_name": "mgmt0", "port_name_format": "Ethernet1/{port1}", "qemu": { - "cpus": 2, "adapter_type": "e1000", "adapters": 10, "ram": 8096, + "cpus": 2, "hda_disk_interface": "sata", "arch": "x86_64", "console_type": "telnet", @@ -45,7 +45,7 @@ "md5sum": "148fd38cb1ff78df2883f844e172fad9", "filesize": 1435041792, "download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(1)?i=!pp" - }, + }, { "filename": "nxosv-final.9.2.3.qcow2", "version": "9.2.3", @@ -161,14 +161,14 @@ "bios_image": "OVMF-20160813.fd", "hda_disk_image": "nexus9300v.9.3.3.qcow2" } - }, + }, { "name": "9.3.1", "images": { "bios_image": "OVMF-20160813.fd", "hda_disk_image": "nxosv.9.3.1.qcow2" } - }, + }, { "name": "9.2.3", "images": { diff --git a/gns3server/appliances/cisco-smc.gns3a b/gns3server/appliances/cisco-smc.gns3a index 1fbe5786f..6ae32228a 100644 --- a/gns3server/appliances/cisco-smc.gns3a +++ b/gns3server/appliances/cisco-smc.gns3a @@ -1,7 +1,7 @@ { "name": "Cisco Stealthwatch Management Console", "category": "firewall", - "description": "Cisco Stealthwatch is the most comprehensive visibility and network traffic security analytics solution that uses enterprise telemetry from the existing network infrastructure. It provides advanced threat detection, accelerated threat response, and simplified network segmentation using multilayer machine learning and entity modeling. With advanced behavioral analytics, you’ll always know who is on your network and what they are doing.\n\nAs the control center for the Stealthwatch System, the SMC manages, coordinates, configures, and organizes all of the different components of the system. The SMC client software allows you to access the SMC’s user-friendly graphical user interface from any local computer with access to a Web browser. Through the client interface, you can easily access real-time security and network information about critical segments throughout your enterprise. ", + "description": "Cisco Stealthwatch is the most comprehensive visibility and network traffic security analytics solution that uses enterprise telemetry from the existing network infrastructure. It provides advanced threat detection, accelerated threat response, and simplified network segmentation using multilayer machine learning and entity modeling. With advanced behavioral analytics, you'll always know who is on your network and what they are doing.\n\nAs the control center for the Stealthwatch System, the SMC manages, coordinates, configures, and organizes all of the different components of the system. The SMC client software allows you to access the SMC's user-friendly graphical user interface from any local computer with access to a Web browser. Through the client interface, you can easily access real-time security and network information about critical segments throughout your enterprise. ", "vendor_name": "Cisco", "vendor_url": "http://www.cisco.com/", "documentation_url": "https://www.cisco.com/c/en/us/support/security/stealthwatch/tsd-products-support-series-home.html", @@ -14,12 +14,12 @@ "usage": "Starting Stealthwatch Management Console will start an installation of SMC onto a blank 200GB Drive.\nDefault console username/password: sysadmin/lan1cope.\nDefault web username/password: admin/lan411cope.", "symbol": "cisco-fmcv.svg", "first_port_name": "eth0", - "port_name_format": "eth{port1}", + "port_name_format": "eth{port1}", "qemu": { - "cpus": 3, "adapter_type": "e1000", "adapters": 1, "ram": 8192, + "cpus": 3, "hda_disk_interface": "scsi", "arch": "x86_64", "console_type": "vnc", diff --git a/gns3server/appliances/cisco-vWLC.gns3a b/gns3server/appliances/cisco-vWLC.gns3a index 739d2f5ed..607d1a540 100644 --- a/gns3server/appliances/cisco-vWLC.gns3a +++ b/gns3server/appliances/cisco-vWLC.gns3a @@ -12,9 +12,9 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Starting vWLC will start an installation of vWLC onto a blank 8GB Drive.", + "symbol": ":/symbols/wlan_controller.svg", "first_port_name": "ServicePort", "port_name_format": "Management{port1}", - "symbol": ":/symbols/wlan_controller.svg", "qemu": { "adapter_type": "e1000", "adapters": 2, @@ -26,27 +26,13 @@ "kvm": "require", "options": "" }, - "images": [ + "images": [ { - "filename": "Cisco-vWLC-AIR-CTVM-7-3-101-0-file1.iso", - "version": "7.3.101.0", - "md5sum": "6bf17dceaf46e57aab0fb0d43eb6ea06", - "filesize": 157900800, - "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=7.3.101.0" - }, - { - "filename": "AIR-CTVM-7-6-110-0-file1.iso", - "version": "7.6.110.0", - "md5sum": "7acbd88120f008a25d849b72b7207e92", - "filesize": 185561088, - "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=7.6.110.0" - }, - { - "filename": "AIR-CTVM-k9-8-1-120.0.iso", - "version": "8.1.120.0", - "md5sum": "477363f88f07f64499bb4ab80ffa9d2f", - "filesize": 302104576, - "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.1.120.0" + "filename": "MFG_CTVM_8_3_102_0.iso", + "version": "8.3.102.0", + "md5sum": "7f6b7968b5bed04b5ecc119b6ba4e41c", + "filesize": 365996032, + "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.3.102.0" }, { "filename": "MFG_CTVM_8_2_141_0.iso", @@ -56,11 +42,25 @@ "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.2.141.0" }, { - "filename": "MFG_CTVM_8_3_102_0.iso", - "version": "8.3.102.0", - "md5sum": "7f6b7968b5bed04b5ecc119b6ba4e41c", - "filesize": 365996032, - "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.3.102.0" + "filename": "AIR-CTVM-k9-8-1-120.0.iso", + "version": "8.1.120.0", + "md5sum": "477363f88f07f64499bb4ab80ffa9d2f", + "filesize": 302104576, + "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.1.120.0" + }, + { + "filename": "AIR-CTVM-7-6-110-0-file1.iso", + "version": "7.6.110.0", + "md5sum": "7acbd88120f008a25d849b72b7207e92", + "filesize": 185561088, + "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=7.6.110.0" + }, + { + "filename": "Cisco-vWLC-AIR-CTVM-7-3-101-0-file1.iso", + "version": "7.3.101.0", + "md5sum": "6bf17dceaf46e57aab0fb0d43eb6ea06", + "filesize": 157900800, + "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=7.3.101.0" }, { "filename": "empty8G.qcow2", @@ -72,12 +72,11 @@ } ], "versions": [ - { - "name": "8.1.120.0", + "name": "8.3.102.0", "images": { "hda_disk_image": "empty8G.qcow2", - "cdrom_image": "AIR-CTVM-k9-8-1-120.0.iso" + "cdrom_image": "MFG_CTVM_8_3_102_0.iso" } }, { @@ -88,11 +87,25 @@ } }, { - "name": "8.3.102.0", + "name": "8.1.120.0", "images": { "hda_disk_image": "empty8G.qcow2", - "cdrom_image": "MFG_CTVM_8_3_102_0.iso" + "cdrom_image": "AIR-CTVM-k9-8-1-120.0.iso" } - } + }, + { + "name": "7.6.110.0", + "images": { + "hda_disk_image": "empty8G.qcow2", + "cdrom_image": "AIR-CTVM-7-6-110-0-file1.iso" + } + }, + { + "name": "7.3.101.0", + "images": { + "hda_disk_image": "empty8G.qcow2", + "cdrom_image": "Cisco-vWLC-AIR-CTVM-7-3-101-0-file1.iso" + } + } ] } diff --git a/gns3server/appliances/cisco-wsav.gns3a b/gns3server/appliances/cisco-wsav.gns3a index a2feedfec..241b32279 100644 --- a/gns3server/appliances/cisco-wsav.gns3a +++ b/gns3server/appliances/cisco-wsav.gns3a @@ -1,7 +1,7 @@ { "name": "Web Security Virtual Appliance", "category": "firewall", - "description": "The Cisco WSA was one of the first secure web gateways to combine leading protections to help organizations address the growing challenges of securing and controlling web traffic. It enables simpler, faster deployment with fewer maintenance requirements, reduced latency, and lower operating costs. “Set and forget” technology frees staff after initial automated policy settings go live, and automatic security updates are pushed to network devices every 3 to 5 minutes. Flexible deployment options and integration with your existing security infrastructure help you meet quickly evolving security requirements.", + "description": "The Cisco WSA was one of the first secure web gateways to combine leading protections to help organizations address the growing challenges of securing and controlling web traffic. It enables simpler, faster deployment with fewer maintenance requirements, reduced latency, and lower operating costs. \"Set and forget\" technology frees staff after initial automated policy settings go live, and automatic security updates are pushed to network devices every 3 to 5 minutes. Flexible deployment options and integration with your existing security infrastructure help you meet quickly evolving security requirements.", "vendor_name": "Cisco", "vendor_url": "http://www.cisco.com/", "documentation_url": "http://www.cisco.com/c/en/us/support/security/web-security-appliance/tsd-products-support-series-home.html", diff --git a/gns3server/appliances/citrix-netscaler-vpx.gns3a b/gns3server/appliances/citrix-netscaler-vpx.gns3a index 0fcd184ab..c34ea3527 100644 --- a/gns3server/appliances/citrix-netscaler-vpx.gns3a +++ b/gns3server/appliances/citrix-netscaler-vpx.gns3a @@ -1,7 +1,7 @@ { "name": "NetScaler VPX", "category": "router", - "description": "Today’s enterprises face more demands than ever, from cloud computing to 24/7 availability to increasing security threats. NetScaler ADC, an advanced software-defined application delivery controller, is your networking power player. It provides outstanding delivery of business applications—to any device and any location—with unmatched security, superior L4-7 load balancing, reliable GSLB, and 100 percent uptime. In fact, NetScaler ADC offers up to five times the performance of our closest competitor. Plus our TriScale technology saves you money by allowing your network to scale up or down without additional hardware costs.", + "description": "Today's enterprises face more demands than ever, from cloud computing to 24/7 availability to increasing security threats. NetScaler ADC, an advanced software-defined application delivery controller, is your networking power player. It provides outstanding delivery of business applications-to any device and any location-with unmatched security, superior L4-7 load balancing, reliable GSLB, and 100 percent uptime. In fact, NetScaler ADC offers up to five times the performance of our closest competitor. Plus our TriScale technology saves you money by allowing your network to scale up or down without additional hardware costs.", "vendor_name": "Citrix", "vendor_url": "http://www.citrix.com/", "documentation_url": "https://www.citrix.com/products/netscaler-adc/support.html", diff --git a/gns3server/appliances/cumulus-vx.gns3a b/gns3server/appliances/cumulus-vx.gns3a index de25c7958..679102699 100644 --- a/gns3server/appliances/cumulus-vx.gns3a +++ b/gns3server/appliances/cumulus-vx.gns3a @@ -18,11 +18,20 @@ "adapter_type": "virtio-net-pci", "adapters": 7, "ram": 512, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require" }, "images": [ + { + "filename": "cumulus-linux-4.2.0-vx-amd64-qemu.qcow2", + "version": "4.2.0", + "md5sum": "b746616189a7d5cc69de4015e5c8b1d4", + "filesize": 2322137088, + "download_url": "https://cumulusnetworks.com/cumulus-vx/download/", + "direct_download_url": "https://d2cd9e7ca6hntp.cloudfront.net/public/CumulusLinux-4.2.0/cumulus-linux-4.2.0-vx-amd64-qemu.qcow2" + }, { "filename": "cumulus-linux-3.7.10-vx-amd64-qemu.qcow2", "version": "3.7.10", @@ -213,48 +222,54 @@ } ], "versions": [ + { + "name": "4.2.0", + "images": { + "hda_disk_image": "cumulus-linux-4.2.0-vx-amd64-qemu.qcow2" + } + }, { "name": "3.7.10", "images": { "hda_disk_image": "cumulus-linux-3.7.10-vx-amd64-qemu.qcow2" } - }, + }, { "name": "3.7.6", "images": { "hda_disk_image": "cumulus-linux-3.7.6-vx-amd64-qemu.qcow2" } - }, + }, { "name": "3.7.3", "images": { "hda_disk_image": "cumulus-linux-3.7.3-vx-amd64-qemu.qcow2" } - }, + }, { "name": "3.7.2", "images": { "hda_disk_image": "cumulus-linux-3.7.2-vx-amd64-qemu.qcow2" } - }, + }, { "name": "3.7.1", "images": { "hda_disk_image": "cumulus-linux-3.7.1-vx-amd64-qemu.qcow2" } - }, + }, { "name": "3.6.2", "images": { "hda_disk_image": "cumulus-linux-3.6.2-vx-amd64.qcow2" } - }, + }, { "name": "3.6.1", "images": { "hda_disk_image": "cumulus-linux-3.6.1-vx-amd64.qcow2" } - }, + }, { "name": "3.6.0", "images": { diff --git a/gns3server/appliances/danos.gns3a b/gns3server/appliances/danos.gns3a index e4843331a..8739db489 100644 --- a/gns3server/appliances/danos.gns3a +++ b/gns3server/appliances/danos.gns3a @@ -1,7 +1,7 @@ { "name": "DANOS", "category": "router", - "description": "The Disaggregated Network Operating System (DANOS) project enables community collaboration across network hardware, forwarding, and operating system layers. DANOS is initially based on AT&T’s “dNOS” software framework of a more open, cost-effective and flexible alternative to traditional networking equipment. As part of The Linux Foundation, it now incorporates contributions from complementary open source communities in building a standardized distributed Network Operating System (NOS) to speed the adoption and use of white boxes in a service provider’s infrastructure.", + "description": "The Disaggregated Network Operating System (DANOS) project enables community collaboration across network hardware, forwarding, and operating system layers. DANOS is initially based on AT&T's \"dNOS\" software framework of a more open, cost-effective and flexible alternative to traditional networking equipment. As part of The Linux Foundation, it now incorporates contributions from complementary open source communities in building a standardized distributed Network Operating System (NOS) to speed the adoption and use of white boxes in a service provider's infrastructure.", "vendor_name": "Linux", "vendor_url": "https://www.danosproject.org/", "documentation_url": "https://danosproject.atlassian.net/wiki/spaces/DAN/pages/753667/DANOS+1908", @@ -9,16 +9,17 @@ "product_url": "https://www.danosproject.org/", "registry_version": 4, "status": "stable", - "symbol": ":/symbols/affinity/circle/gray/router_cloud.svg", "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username/password is vyatta/vyatta. DANOS will live boot and drop into a shell. DANOS can then be installed inside the VM by typing install image. Defaults to using a telnet console, but the vnc console can provide additional help if it's not booting.", + "symbol": ":/symbols/affinity/circle/gray/router_cloud.svg", "port_name_format": "dp0p{1}s{0}", "qemu": { - "cpus": 2, "adapter_type": "virtio-net-pci", "adapters": 3, "ram": 4096, + "cpus": 2, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "boot_priority": "dc", @@ -45,7 +46,7 @@ ], "versions": [ { - "name": "danos-1908-amd64-vrouter", + "name": "1908", "images": { "hda_disk_image": "empty8G.qcow2", "cdrom_image": "danos-1908-amd64-vrouter.iso" diff --git a/gns3server/appliances/debian10-min.gns3a b/gns3server/appliances/debian10-min.gns3a index 3ef8f8b8c..fbe787b03 100644 --- a/gns3server/appliances/debian10-min.gns3a +++ b/gns3server/appliances/debian10-min.gns3a @@ -35,7 +35,7 @@ ], "versions": [ { - "name": "Debian 10.2.0", + "name": "10.2.0", "images": { "hda_disk_image": "debian10-gns3.qcow2" } diff --git a/gns3server/appliances/deft-linux.gns3a b/gns3server/appliances/deft-linux.gns3a index 20acc4430..5c9d25b44 100644 --- a/gns3server/appliances/deft-linux.gns3a +++ b/gns3server/appliances/deft-linux.gns3a @@ -1,7 +1,7 @@ { "name": "DEFT Linux", "category": "guest", - "description": "DEFT (acronym for Digital Evidence & Forensics Toolkit) is a distribution made for Computer Forensics, with the purpose of running live on systems without tampering or corrupting devices (hard disks, pendrives, etc…) connected to the PC where the boot process takes place.\nThe DEFT system is based on GNU Linux, it can run live (via DVDROM or USB pendrive), installed or run as a Virtual Appliance on VMware or Virtualbox. DEFT employs LXDE as desktop environment and WINE for executing Windows tools under Linux. It features a comfortable mount manager for device management.\nDEFT is paired with DART (acronym for Digital Advanced Response Toolkit), a Forensics System which can be run on Windows and contains the best tools for Forensics and Incident Response. DART features a GUI with logging and integrity check for the instruments here contained.\nBesides all this, the DEFT staff is devoted to implementing and developing applications which are released to Law Enforcement Officers, such as Autopsy 3 for Linux.", + "description": "DEFT (acronym for Digital Evidence & Forensics Toolkit) is a distribution made for Computer Forensics, with the purpose of running live on systems without tampering or corrupting devices (hard disks, pendrives, etc...) connected to the PC where the boot process takes place.\nThe DEFT system is based on GNU Linux, it can run live (via DVDROM or USB pendrive), installed or run as a Virtual Appliance on VMware or Virtualbox. DEFT employs LXDE as desktop environment and WINE for executing Windows tools under Linux. It features a comfortable mount manager for device management.\nDEFT is paired with DART (acronym for Digital Advanced Response Toolkit), a Forensics System which can be run on Windows and contains the best tools for Forensics and Incident Response. DART features a GUI with logging and integrity check for the instruments here contained.\nBesides all this, the DEFT staff is devoted to implementing and developing applications which are released to Law Enforcement Officers, such as Autopsy 3 for Linux.", "vendor_name": "DEFT Association", "vendor_url": "http://www.deftlinux.net/", "documentation_url": "http://www.deftlinux.net/deft-manual/", diff --git a/gns3server/appliances/dns.gns3a b/gns3server/appliances/dns.gns3a index 0902b0dbc..c0f10568d 100644 --- a/gns3server/appliances/dns.gns3a +++ b/gns3server/appliances/dns.gns3a @@ -9,8 +9,8 @@ "status": "stable", "maintainer": "Andras Dosztal", "maintainer_email": "developers@gns3.net", - "symbol": "linux_guest.svg", "usage": "You can add records by adding entries to the /etc/hosts file in the following format:\n%IP_ADDRESS% %HOSTNAME%.lab %HOSTNAME%\n\nExample:\n192.168.123.10 router1.lab router1", + "symbol": "linux_guest.svg", "docker": { "adapters": 1, "image": "adosztal/dns:latest", diff --git a/gns3server/appliances/exos.gns3a b/gns3server/appliances/exos.gns3a index c6199b442..8c70eb637 100644 --- a/gns3server/appliances/exos.gns3a +++ b/gns3server/appliances/exos.gns3a @@ -25,77 +25,72 @@ "kvm": "allow", "options": "-cpu core2duo" }, - "images": [ - - { + { "filename": "EXOS-VM_v30.7.1.1.qcow2", "version": "30.7.1.1", "md5sum": "c6b67023945102f984b47aa67c67fe33", "filesize": 485687296, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.7.1.1.qcow2" }, - { + { "filename": "EXOS-VM_v30.6.1.11.qcow2", "version": "30.6.1.11", "md5sum": "bf3e13570417d7e3464165b344c196eb", "filesize": 475332608, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.6.1.11.qcow2" }, - { + { "filename": "EXOS-VM_v30.5.1.15.qcow2", "version": "30.5.1.15", "md5sum": "380d0c7bb8f0aa272ceb84b85f367a63", "filesize": 498663424, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.5.1.15.qcow2" }, - { + { "filename": "EXOS-VM_v30.4.1.2.qcow2", "version": "30.4.1.2", "md5sum": "133fa38bf80daec9e389729c96e692c0", "filesize": 454557696, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.4.1.2.qcow2" }, - { + { "filename": "EXOS-VM_v30.3.1.6.qcow2", "version": "30.3.1.6", "md5sum": "edb86b406efe99434c6d5366d9bfa97f", "filesize": 448266240, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.3.1.6.qcow2" }, - { + { "filename": "EXOS-VM_v30.2.1.8.qcow2", "version": "30.2.1.8", "md5sum": "4bdbf3ddff7a030e19c6bb71270b56d2", "filesize": 355205120, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.2.1.8.qcow2" }, - { + { "filename": "EXOS-VM_v30.1.1.4.qcow2", "version": "30.1.1.4", "md5sum": "92d3f9b13d750f7bfa804823fa545772", "filesize": 383385600, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.1.1.4.qcow2" }, - { + { "filename": "EXOS-VM_v22.7.1.2.qcow2", "version": "22.7.1.2", "md5sum": "a13e839b3fa05e8a5b0fb31f7e3dda86", "filesize": 180420608, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v22.7.1.2.qcow2" }, - { + { "filename": "EXOS-VM_v21.1.1.4-disk1.qcow2", "version": "21.1.1.4", "md5sum": "654606809b6fd3bca400377483eb4a79", "filesize": 117560832, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v21.1.1.4-disk1.qcow2" } - ], - "versions": [ - { "name": "30.7.1.1", "images": { @@ -120,13 +115,13 @@ "hda_disk_image": "EXOS-VM_v30.4.1.2.qcow2" } }, - { + { "name": "30.3.1.6", "images": { "hda_disk_image": "EXOS-VM_v30.3.1.6.qcow2" } }, - { + { "name": "30.2.1.8", "images": { "hda_disk_image": "EXOS-VM_v30.2.1.8.qcow2" @@ -138,12 +133,12 @@ "hda_disk_image": "EXOS-VM_v30.1.1.4.qcow2" } }, - { + { "name": "22.7.1.2", "images": { "hda_disk_image": "EXOS-VM_v22.7.1.2.qcow2" } - }, + }, { "name": "21.1.1.4", "images": { diff --git a/gns3server/appliances/extreme-networks-voss.gns3a b/gns3server/appliances/extreme-networks-voss.gns3a index e5834ed6a..38da869bf 100644 --- a/gns3server/appliances/extreme-networks-voss.gns3a +++ b/gns3server/appliances/extreme-networks-voss.gns3a @@ -14,8 +14,7 @@ "symbol": ":/symbols/multilayer_switch.svg", "first_port_name": "Mgmt", "port_name_format": "1/{port1}", - "qemu": - { + "qemu": { "adapter_type": "e1000", "adapters": 9, "ram": 2048, @@ -26,68 +25,60 @@ "kvm": "allow", "options": "-nographic" }, - - "images": - [ + "images": [ { "filename": "VOSSGNS3.8.1.5.0.qcow2", - "version": "v8.1.5.0", + "version": "8.1.5.0", "md5sum": "dff95f67fc04f82f627209ff7b7b3860", "filesize": 331087872, - "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_VOSS/VOSSGNS3.8.1.5.0.qcow2" + "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_VOSS/VOSSGNS3.8.1.5.0.qcow2" }, - { + { "filename": "VOSSGNS3.8.1.0.0.qcow2", - "version": "v8.1.0.0", + "version": "8.1.0.0", "md5sum": "6b46fd54999a4cd2369440809ccc5099", "filesize": 311820288, - "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_VOSS/VOSSGNS3.8.1.0.0.qcow2" + "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_VOSS/VOSSGNS3.8.1.0.0.qcow2" }, - { + { "filename": "VOSSGNS3.7.1.0.0.qcow2", - "version": "voss_7.1.0.0", + "version": "7.1.0.0", "md5sum": "7bb2974efe1a1ab857debd9fa894dbe7", "filesize": 193724416, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_VOSS/VOSSGNS3.7.1.0.0.qcow2" }, - { + { "filename": "VOSSGNS3.7.0.0.0.img", - "version": "voss_7.0.0.0", + "version": "7.0.0.0", "md5sum": "65fe97461156aa88c836a90be1287649", "filesize": 419430400, "direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_VOSS/VOSSGNS3.7.0.0.0.img" - } + } ], - - "versions": - [ + "versions": [ { - "name": "v8.1.5.0", - "images": - { + "name": "8.1.5.0", + "images": { "hda_disk_image": "VOSSGNS3.8.1.5.0.qcow2" } }, - { - "name": "v8.1.0.0", - "images": - { + { + "name": "8.1.0.0", + "images": { "hda_disk_image": "VOSSGNS3.8.1.0.0.qcow2" } }, - { + { "name": "7.1.0.0", - "images": - { + "images": { "hda_disk_image": "VOSSGNS3.7.1.0.0.qcow2" } }, - { + { "name": "7.0.0.0", "images": { "hda_disk_image": "VOSSGNS3.7.0.0.0.img" - } + } } ] - } diff --git a/gns3server/appliances/f5-bigiq.gns3a b/gns3server/appliances/f5-bigiq.gns3a index ceeb54e6e..7aa07ffd7 100644 --- a/gns3server/appliances/f5-bigiq.gns3a +++ b/gns3server/appliances/f5-bigiq.gns3a @@ -12,9 +12,9 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Console credentials: root/default\nWebUI credentials: admin/admin\nThe boot process might take a few minutes without providing any output to the console. Please be patient (or set console to vnc to see tty outputs).", + "symbol": "mgmt_station.svg", "first_port_name": "mgmt", "port_name_format": "1.{port1}", - "symbol": "mgmt_station.svg", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 2, diff --git a/gns3server/appliances/firefox.gns3a b/gns3server/appliances/firefox.gns3a index e32fe76d0..633bd74e0 100644 --- a/gns3server/appliances/firefox.gns3a +++ b/gns3server/appliances/firefox.gns3a @@ -16,6 +16,7 @@ "adapter_type": "e1000", "adapters": 1, "ram": 256, + "hda_disk_interface": "ide", "arch": "i386", "console_type": "vnc", "kvm": "allow", diff --git a/gns3server/appliances/fortiadc-manager.gns3a b/gns3server/appliances/fortiadc-manager.gns3a index 74090e70f..e14f551c9 100644 --- a/gns3server/appliances/fortiadc-manager.gns3a +++ b/gns3server/appliances/fortiadc-manager.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 10, diff --git a/gns3server/appliances/fortiadc.gns3a b/gns3server/appliances/fortiadc.gns3a index 135077215..f8e864565 100644 --- a/gns3server/appliances/fortiadc.gns3a +++ b/gns3server/appliances/fortiadc.gns3a @@ -12,9 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username is admin, no password is set. Silent boot, it might take a while.", - "symbol": "loadbalancer.svg", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 10, @@ -235,14 +234,14 @@ { "name": "5.0.1", "images": { - "hda_disk_image": "FAD_KVM-V400-build0989-FORTINET.out.kvm-boot.qcow2", + "hda_disk_image": "FAD_KVM-V500-build0056-FORTINET.out.kvm-boot.qcow2", "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2" } }, { "name": "5.0.0", "images": { - "hda_disk_image": "FAD_KVM-V400-build0989-FORTINET.out.kvm-boot.qcow2", + "hda_disk_image": "FAD_KVM-V500-build0045-FORTINET.out.kvm-boot.qcow2", "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2" } }, diff --git a/gns3server/appliances/fortianalyzer.gns3a b/gns3server/appliances/fortianalyzer.gns3a index 333f6d57c..3e392806a 100644 --- a/gns3server/appliances/fortianalyzer.gns3a +++ b/gns3server/appliances/fortianalyzer.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "e1000", "adapters": 4, diff --git a/gns3server/appliances/fortiauthenticator.gns3a b/gns3server/appliances/fortiauthenticator.gns3a index dac26e8f9..6d6799c87 100644 --- a/gns3server/appliances/fortiauthenticator.gns3a +++ b/gns3server/appliances/fortiauthenticator.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username is admin, no password is set. First book takes longer.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "e1000", "adapters": 4, diff --git a/gns3server/appliances/forticache.gns3a b/gns3server/appliances/forticache.gns3a index 75df57bb6..e27362b00 100644 --- a/gns3server/appliances/forticache.gns3a +++ b/gns3server/appliances/forticache.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "e1000", "adapters": 3, diff --git a/gns3server/appliances/fortigate.gns3a b/gns3server/appliances/fortigate.gns3a index 44281ff9c..fb9d9ad92 100644 --- a/gns3server/appliances/fortigate.gns3a +++ b/gns3server/appliances/fortigate.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "e1000", "adapters": 10, @@ -32,13 +32,15 @@ "md5sum": "da411e21e4c0bc25553d0e72201af7a4", "filesize": 58916864, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" - },{ + }, + { "filename": "FGT_VM64_KVM-v6-build0932-FORTINET.out.kvm.qcow2", "version": "6.2.1", "md5sum": "725d41460ed1858dc905dbe2846a8400", "filesize": 58785792, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" - },{ + }, + { "filename": "FGT_VM64_KVM-v6-build0866-FORTINET.out.kvm.qcow2", "version": "6.2.0", "md5sum": "588df9ba0db485976f6681810001ae73", diff --git a/gns3server/appliances/fortimail.gns3a b/gns3server/appliances/fortimail.gns3a index 6f806d012..abb9eed46 100644 --- a/gns3server/appliances/fortimail.gns3a +++ b/gns3server/appliances/fortimail.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "First boot takes a few minutes. Admin URL is https://x.x.x.x/admin, default username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 4, diff --git a/gns3server/appliances/fortimanager.gns3a b/gns3server/appliances/fortimanager.gns3a index 574df5e4e..2dfa4cb82 100644 --- a/gns3server/appliances/fortimanager.gns3a +++ b/gns3server/appliances/fortimanager.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 4, @@ -183,6 +183,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "6.0.3", + "images": { + "hda_disk_image": "FMG_VM64_KVM-v6-build0255-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "6.0.2", "images": { diff --git a/gns3server/appliances/fortiproxy.gns3a b/gns3server/appliances/fortiproxy.gns3a index 4ab88bee1..140f5bcd4 100644 --- a/gns3server/appliances/fortiproxy.gns3a +++ b/gns3server/appliances/fortiproxy.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "The system reboots twice during the initial setup; this is normal.\nDefault username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 10, diff --git a/gns3server/appliances/fortirecorder.gns3a b/gns3server/appliances/fortirecorder.gns3a index 0b1e346d9..b4412c826 100644 --- a/gns3server/appliances/fortirecorder.gns3a +++ b/gns3server/appliances/fortirecorder.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Use HTTPS when connecting to the WebUI.\nDefault username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 10, diff --git a/gns3server/appliances/fortisandbox.gns3a b/gns3server/appliances/fortisandbox.gns3a index 09fb02981..d74d1baba 100644 --- a/gns3server/appliances/fortisandbox.gns3a +++ b/gns3server/appliances/fortisandbox.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "First boot will take some time without console output. Default username is admin, no password is set.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 3, diff --git a/gns3server/appliances/fortisiem-super_worker.gns3a b/gns3server/appliances/fortisiem-super_worker.gns3a index 985ef4395..9c9f39a7a 100644 --- a/gns3server/appliances/fortisiem-super_worker.gns3a +++ b/gns3server/appliances/fortisiem-super_worker.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "This is the Super/Worker component. Default credentials:\n- admin / admin*1\n - root / ProspectHills\n\nIf you get a 503 error on the WebUI, run /opt/phoenix/deployment/jumpbox/phinitsuper as root.\n\nMake sure that Super, Worker(s), Collector(s) and Report Server can connect to FortiSIEM hosted CentOS repo on https port 443 under the URLs below. Otherwise, some packages may not install and 5.0.0 binaries will not run.\n- https://os-pkgs-cdn.fortisiem.fortinet.com/centos6/\n- https://os-pkgs.fortisiem.fortinet.com/centos6/", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 2, diff --git a/gns3server/appliances/fortiweb.gns3a b/gns3server/appliances/fortiweb.gns3a index 9fb0f78f0..2365d76fd 100644 --- a/gns3server/appliances/fortiweb.gns3a +++ b/gns3server/appliances/fortiweb.gns3a @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username is admin, no password is set. Console keeps sending 'access uuid file failed, error number 2' messages; ignore it.", - "port_name_format": "Port{port1}", "symbol": "fortinet.svg", + "port_name_format": "Port{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 4, @@ -118,7 +118,6 @@ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/", "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download" } - ], "versions": [ { diff --git a/gns3server/appliances/freeRouter.gns3a b/gns3server/appliances/freeRouter.gns3a index eb298b1fd..d1e0ed21c 100644 --- a/gns3server/appliances/freeRouter.gns3a +++ b/gns3server/appliances/freeRouter.gns3a @@ -17,6 +17,7 @@ "adapter_type": "e1000", "adapters": 8, "ram": 2048, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require" diff --git a/gns3server/appliances/frr.gns3a b/gns3server/appliances/frr.gns3a index 22b6579db..ae25e7cbc 100644 --- a/gns3server/appliances/frr.gns3a +++ b/gns3server/appliances/frr.gns3a @@ -1,7 +1,7 @@ { "name": "FRR", "category": "router", - "description": "FRRouting (FRR) is an IP routing protocol suite for Linux and Unix platforms which includes protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP.\n\nFRR’s seamless integration with the native Linux/Unix IP networking stacks makes it applicable to a wide variety of use cases including connecting hosts/VMs/containers to the network, advertising network services, LAN switching and routing, Internet access routers, and Internet peering.\n\nThis is an unofficial VM of FRR.", + "description": "FRRouting (FRR) is an IP routing protocol suite for Linux and Unix platforms which includes protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP.\n\nFRR's seamless integration with the native Linux/Unix IP networking stacks makes it applicable to a wide variety of use cases including connecting hosts/VMs/containers to the network, advertising network services, LAN switching and routing, Internet access routers, and Internet peering.\n\nThis is an unofficial VM of FRR.", "vendor_name": "FRRouting Project", "vendor_url": "https://frrouting.org", "product_name": "FRR", @@ -15,6 +15,7 @@ "adapter_type": "e1000", "adapters": 8, "ram": 256, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "allow" diff --git a/gns3server/appliances/hp-vsr1001.gns3a b/gns3server/appliances/hp-vsr1001.gns3a index 6333f594f..e70d2ea12 100644 --- a/gns3server/appliances/hp-vsr1001.gns3a +++ b/gns3server/appliances/hp-vsr1001.gns3a @@ -15,8 +15,8 @@ "qemu": { "adapter_type": "virtio-net-pci", "adapters": 16, - "hda_disk_interface": "virtio", "ram": 1024, + "hda_disk_interface": "virtio", "arch": "x86_64", "console_type": "vnc", "boot_priority": "c", diff --git a/gns3server/appliances/internet.gns3a b/gns3server/appliances/internet.gns3a index 5b4cb8529..7d7ff9ec0 100644 --- a/gns3server/appliances/internet.gns3a +++ b/gns3server/appliances/internet.gns3a @@ -16,6 +16,7 @@ "adapter_type": "e1000", "adapters": 1, "ram": 64, + "hda_disk_interface": "ide", "arch": "i386", "console_type": "telnet", "kvm": "allow", diff --git a/gns3server/appliances/ipfire.gns3a b/gns3server/appliances/ipfire.gns3a index ed85e3e1a..5c361a6b0 100644 --- a/gns3server/appliances/ipfire.gns3a +++ b/gns3server/appliances/ipfire.gns3a @@ -117,7 +117,13 @@ ], "versions": [ { - "name": "2.23", + "name": "2.23.136", + "images": { + "hda_disk_image": "ipfire-2.23.2gb-ext4.x86_64-full-core136.img" + } + }, + { + "name": "2.23.131", "images": { "hda_disk_image": "ipfire-2.23.2gb-ext4.x86_64-full-core131.img" } diff --git a/gns3server/appliances/juniper-junos-space.gns3a b/gns3server/appliances/juniper-junos-space.gns3a index 6df472233..d4446dfeb 100644 --- a/gns3server/appliances/juniper-junos-space.gns3a +++ b/gns3server/appliances/juniper-junos-space.gns3a @@ -11,13 +11,14 @@ "status": "stable", "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", - "symbol": "juniper-vqfx.svg", "usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deplyments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123", + "symbol": "juniper-vqfx.svg", "port_name_format": "em{0}", "qemu": { "adapter_type": "e1000", "adapters": 4, "ram": 16384, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", diff --git a/gns3server/appliances/juniper-vmx-legacy.gns3a b/gns3server/appliances/juniper-vmx-legacy.gns3a index cddcaa783..d1eb1712c 100644 --- a/gns3server/appliances/juniper-vmx-legacy.gns3a +++ b/gns3server/appliances/juniper-vmx-legacy.gns3a @@ -11,18 +11,13 @@ "status": "experimental", "maintainer": "none", "maintainer_email": "developers@gns3.net", - "symbol": "juniper-vmx.svg", "usage": "Initial username is root, no password.\n\nTIPS:\n* Use the 'show chassis fpc pic-status' command to check that PIC 0 is online and shows 'Virtual 10x1GE PIC'\n* Use the second adapter (em2) and above to connect to other nodes (the first two interfaces are for internal purposes).", + "symbol": "juniper-vmx.svg", "first_port_name": "fxp0", "port_name_format": "em{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 12, - "ram": 1024, - "arch": "x86_64", - "console_type": "telnet", - "kvm": "require", - "options": "-nographic", "custom_adapters": [ { "adapter_number": 0, @@ -32,7 +27,13 @@ "adapter_number": 1, "adapter_type": "e1000" } - ] + ], + "ram": 1024, + "hda_disk_interface": "ide", + "arch": "x86_64", + "console_type": "telnet", + "kvm": "require", + "options": "-nographic" }, "images": [ { diff --git a/gns3server/appliances/juniper-vmx-vcp.gns3a b/gns3server/appliances/juniper-vmx-vcp.gns3a index 4a054719d..4100ffbfd 100644 --- a/gns3server/appliances/juniper-vmx-vcp.gns3a +++ b/gns3server/appliances/juniper-vmx-vcp.gns3a @@ -11,20 +11,41 @@ "status": "experimental", "maintainer": "none", "maintainer_email": "developers@gns3.net", - "symbol": "juniper-vmx.svg", "usage": "Initial username is root, no password.\n\nUSAGE INSTRUCTIONS\n\nConnect the first interface (fxp0) to your admin VLAN. Connect the second interface (em1) directly to the second interface (eth1) of the vFP.", + "symbol": "juniper-vmx.svg", "first_port_name": "fxp0", "port_name_format": "em{port1}", "qemu": { "adapter_type": "e1000", "adapters": 2, "ram": 1024, + "hda_disk_interface": "ide", + "hdb_disk_interface": "ide", + "hdc_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", "options": "-nographic -enable-kvm" }, "images": [ + { + "filename": "junos-vmx-x86-64-20.2R1.10.qcow2", + "version": "20.2R1.10-KVM", + "md5sum": "182484474accf07bd403ef17fa2959a9", + "filesize": 1413349376 + }, + { + "filename": "vmxhdd-20.2R1.10.img", + "version": "20.2R1.10-KVM", + "md5sum": "ae26e0f32605a53a5c85342bad677c9f", + "filesize": 197120 + }, + { + "filename": "metadata-usb-re-20.2R1.10.img", + "version": "20.2R1.10-KVM", + "md5sum": "25322c2caf542059de72e9adbec1fb68", + "filesize": 10485760 + }, { "filename": "junos-vmx-x86-64-19.3R1.8.qcow2", "version": "19.3R1.8-KVM", @@ -336,6 +357,14 @@ } ], "versions": [ + { + "name": "20.2R1.10-KVM", + "images": { + "hda_disk_image": "junos-vmx-x86-64-20.2R1.10.qcow2", + "hdb_disk_image": "vmxhdd-20.2R1.10.img", + "hdc_disk_image": "metadata-usb-re-20.2R1.10.img" + } + }, { "name": "19.3R1.8-KVM", "images": { @@ -465,7 +494,7 @@ } }, { - "name": "15.1F6.9", + "name": "15.1F6.9-KVM", "images": { "hda_disk_image": "junos-vmx-x86-64-15.1F6.9.qcow2", "hdb_disk_image": "vmxhdd-15.1F6.9.img", diff --git a/gns3server/appliances/juniper-vmx-vfp.gns3a b/gns3server/appliances/juniper-vmx-vfp.gns3a index 3945535f8..f723023e9 100644 --- a/gns3server/appliances/juniper-vmx-vfp.gns3a +++ b/gns3server/appliances/juniper-vmx-vfp.gns3a @@ -11,20 +11,28 @@ "status": "experimental", "maintainer": "none", "maintainer_email": "developers@gns3.net", - "symbol": "juniper-vmx.svg", "usage": "Initial username is root, password is root.\n", + "symbol": "juniper-vmx.svg", "first_port_name": "Eth0", "port_name_format": "Eth{port1}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 12, "ram": 4096, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", "options": "-nographic -enable-kvm -smp cpus=3" }, "images": [ + { + "filename": "vFPC-20200526.img", + "version": "20.2R1.10-KVM", + "md5sum": "400652d7e450b0bf8ad4cc37db46b78c", + "filesize": 2447376384, + "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/" + }, { "filename": "vFPC-20190819.img", "version": "19.3R1.8-KVM", @@ -145,8 +153,13 @@ "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/" } ], - "versions": [ + { + "name": "20.2R1.10-KVM", + "images": { + "hda_disk_image": "vFPC-20200526.img" + } + }, { "name": "19.3R1.8-KVM", "images": { @@ -249,6 +262,5 @@ "hda_disk_image": "vFPC-20151203.img" } } - ] } diff --git a/gns3server/appliances/juniper-vqfx-pfe.gns3a b/gns3server/appliances/juniper-vqfx-pfe.gns3a index 2ee0b5d57..d4838a536 100644 --- a/gns3server/appliances/juniper-vqfx-pfe.gns3a +++ b/gns3server/appliances/juniper-vqfx-pfe.gns3a @@ -11,13 +11,14 @@ "status": "experimental", "maintainer": "none", "maintainer_email": "developers@gns3.net", - "symbol": "juniper-vqfx.svg", "usage": "\n\nUSAGE INSTRUCTIONS\n\nConnect the first interface (em0) to your admin VLAN. Connect the second interface (em1) directly to the second interface (em1) of the RE. The switch ports do not connect here, but on the RE", + "symbol": "juniper-vqfx.svg", "port_name_format": "em{0}", "qemu": { "adapter_type": "e1000", "adapters": 2, "ram": 2048, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "kvm": "require", diff --git a/gns3server/appliances/juniper-vqfx-re.gns3a b/gns3server/appliances/juniper-vqfx-re.gns3a index 35f6fc525..161934483 100644 --- a/gns3server/appliances/juniper-vqfx-re.gns3a +++ b/gns3server/appliances/juniper-vqfx-re.gns3a @@ -11,13 +11,14 @@ "status": "experimental", "maintainer": "none", "maintainer_email": "developers@gns3.net", - "symbol": "juniper-vqfx.svg", "usage": "Initial username is root, password is Juniper (capitol J).\n\nUSAGE INSTRUCTIONS\n\nConnect the first interface (em0) to your admin VLAN. Connect the second interface (em1) directly to the second interface (em1) of the PFE. The switch ports connect here on the RE", + "symbol": "juniper-vqfx.svg", "port_name_format": "em{0}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 12, "ram": 1024, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", @@ -25,25 +26,25 @@ }, "images": [ { - "filename": "jinstall-vqfx-10-f-18.4R1.8.qcow2", - "version": "18.4R1", - "md5sum": "1b0dbd9a235f887e56a8506c0b2f684f", - "filesize": 549584896, - "download_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/" + "filename": "jinstall-vqfx-10-f-18.4R1.8.qcow2", + "version": "18.4R1", + "md5sum": "1b0dbd9a235f887e56a8506c0b2f684f", + "filesize": 549584896, + "download_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/" }, { - "filename": "jinstall-vqfx-10-f-17.4R1.16.img", - "version": "17.4R1", - "md5sum": "dd83313b0f5beaf68488ed3d5e1e5240", - "filesize": 553910272, - "download_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/" + "filename": "jinstall-vqfx-10-f-17.4R1.16.img", + "version": "17.4R1", + "md5sum": "dd83313b0f5beaf68488ed3d5e1e5240", + "filesize": 553910272, + "download_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/" }, { - "filename": "vqfx10k-re-15.1X53-D60.vmdk", - "version": "15.1X53-D60", - "md5sum": "758669e88213fbd7943f5da7f6d7bd59", - "filesize": 355542528, - "download_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/" + "filename": "vqfx10k-re-15.1X53-D60.vmdk", + "version": "15.1X53-D60", + "md5sum": "758669e88213fbd7943f5da7f6d7bd59", + "filesize": 355542528, + "download_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/" } ], "versions": [ diff --git a/gns3server/appliances/juniper-vsrx.gns3a b/gns3server/appliances/juniper-vsrx.gns3a index 772f5c370..e9b019fef 100644 --- a/gns3server/appliances/juniper-vsrx.gns3a +++ b/gns3server/appliances/juniper-vsrx.gns3a @@ -1,7 +1,7 @@ { "name": "vSRX", "category": "firewall", - "description": "The vSRX delivers core firewall, networking, advanced security, and automated lifecycle management capabilities for enterprises and service providers. The industry\u2019s fastest virtual security platform, the vSRX offers firewall speeds up to 17 Gbps using only two virtual CPUs, providing scalable, secure protection across private, public, and hybrid clouds.\n\nJuniper version 12 can support only 1GB of ram.", + "description": "The vSRX delivers core firewall, networking, advanced security, and automated lifecycle management capabilities for enterprises and service providers. The industry's fastest virtual security platform, the vSRX offers firewall speeds up to 17 Gbps using only two virtual CPUs, providing scalable, secure protection across private, public, and hybrid clouds.\n\nJuniper version 12 can support only 1GB of ram.", "vendor_name": "Juniper", "vendor_url": "https://www.juniper.net/us/en/", "documentation_url": "http://www.juniper.net/techpubs/", @@ -18,6 +18,7 @@ "adapter_type": "vmxnet3", "adapters": 6, "ram": 4096, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", @@ -138,14 +139,14 @@ }, { "filename": "junos-vsrx-vmdisk-15.1X49-D20.2.qcow2", - "version": "15.1X49-D20.2", + "version": "15.1X49-D20", "md5sum": "43e8000870207db47c1382192319eb45", "filesize": 2904096768, "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/" }, { "filename": "junos-vsrx-12.1X47-D20.7-domestic-disk1.vmdk", - "version": "12.1X47-D20.7", + "version": "12.1X47-D20", "md5sum": "d22ed7a7eb131984e892a4430c5f4730", "filesize": 235894272, "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/" diff --git a/gns3server/appliances/kali-linux.gns3a b/gns3server/appliances/kali-linux.gns3a index 9f3e2d878..2661c8a53 100644 --- a/gns3server/appliances/kali-linux.gns3a +++ b/gns3server/appliances/kali-linux.gns3a @@ -16,6 +16,7 @@ "adapter_type": "e1000", "adapters": 8, "ram": 1024, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "boot_priority": "d", diff --git a/gns3server/appliances/kemp-vlm.gns3a b/gns3server/appliances/kemp-vlm.gns3a index 16f1beb2f..15ca8df28 100644 --- a/gns3server/appliances/kemp-vlm.gns3a +++ b/gns3server/appliances/kemp-vlm.gns3a @@ -1,7 +1,7 @@ { "name": "KEMP Free VLM", "category": "router", - "description": "KEMP Technologies free LoadMaster Application Load Balancer is a fully featured member of our award winning and industry leading Load Balancer family. It can be used without charge in production environments with throughput requirements that don\u2019t exceed 20 Mbps, and for services that do not directly generate revenue. It is an ideal choice for low traffic web sites and applications, DevOps testing environments, technical training environments, and for any other deployments that suit your non-commercial needs.", + "description": "KEMP Technologies free LoadMaster Application Load Balancer is a fully featured member of our award winning and industry leading Load Balancer family. It can be used without charge in production environments with throughput requirements that don't exceed 20 Mbps, and for services that do not directly generate revenue. It is an ideal choice for low traffic web sites and applications, DevOps testing environments, technical training environments, and for any other deployments that suit your non-commercial needs.", "vendor_name": "KEMP", "vendor_url": "http://freeloadbalancer.com/", "documentation_url": "https://support.kemptechnologies.com/hc/en-us/articles/204427785", @@ -49,7 +49,7 @@ }, { "filename": "LoadMaster-VLM-7.2.36.2.14271.RELEASE-Linux-KVM-XEN-FREE.disk", - "version": "7.1.36.2", + "version": "7.2.36.2", "md5sum": "eebfc96bd6c1c50827d00647206b59dd", "filesize": 17179869185, "download_url": "http://freeloadbalancer.com/download/" diff --git a/gns3server/appliances/kerio-connect.gns3a b/gns3server/appliances/kerio-connect.gns3a index c5117fc26..e80021082 100644 --- a/gns3server/appliances/kerio-connect.gns3a +++ b/gns3server/appliances/kerio-connect.gns3a @@ -1,7 +1,7 @@ { "name": "Kerio Connect", "category": "guest", - "description": "Kerio Connect makes email, calendars, contacts and task management easy and affordable. With Kerio Connect, you have immediate, secure access to your communications anytime, anywhere, on any device — without complexity or expensive overhead.", + "description": "Kerio Connect makes email, calendars, contacts and task management easy and affordable. With Kerio Connect, you have immediate, secure access to your communications anytime, anywhere, on any device - without complexity or expensive overhead.", "vendor_name": "Kerio Technologies Inc.", "vendor_url": "http://www.kerio.com", "documentation_url": "http://kb.kerio.com/product/kerio-connect/", diff --git a/gns3server/appliances/kerio-control.gns3a b/gns3server/appliances/kerio-control.gns3a index 1b2904e77..2f29fb4e4 100644 --- a/gns3server/appliances/kerio-control.gns3a +++ b/gns3server/appliances/kerio-control.gns3a @@ -77,14 +77,16 @@ "md5sum": "0405890e323e29a4808ec288600875ba", "filesize": 254364160, "download_url": "http://www.kerio.com/support/kerio-control", - "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.2.1-2019/kerio-control-appliance-9.2.1-2019-vmware-disk1.vmdk" }, + "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.2.1-2019/kerio-control-appliance-9.2.1-2019-vmware-disk1.vmdk" + }, { "filename": "kerio-control-appliance-9.1.4-1535-vmware.vmdk", "version": "9.1.4", "md5sum": "5ea5a7f103b1f008d4c24444400333ec", "filesize": 483459072, "download_url": "http://www.kerio.com/support/kerio-control", - "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.1.4-1535/kerio-control-appliance-9.1.4-1535-vmware.vmdk" } + "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.1.4-1535/kerio-control-appliance-9.1.4-1535-vmware.vmdk" + } ], "versions": [ { diff --git a/gns3server/appliances/macos-install.gns3a b/gns3server/appliances/macos-install.gns3a index fd23f6316..5f920187d 100644 --- a/gns3server/appliances/macos-install.gns3a +++ b/gns3server/appliances/macos-install.gns3a @@ -19,11 +19,13 @@ "cpus": 4, "hda_disk_interface": "ide", "hdb_disk_interface": "sata", - "options": "-machine q35,accel=kvm -cpu Penryn,kvm=on -device isa-applesmc,osk='ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc' -smbios type=2 -usb -device usb-kbd -device usb-tablet -drive file=/home/gns3/GNS3/images/QEMU/OpenCore.iso,if=none,id=drive-ide2,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=101 -drive file=/home/gns3/GNS3/images/QEMU/Catalina-installer.iso,if=none,id=drive-ide0,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0", + "hdc_disk_interface": "ide", + "hdd_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "boot_priority": "dc", - "kvm": "require" + "kvm": "require", + "options": "-machine q35,accel=kvm -cpu Penryn,kvm=on -device isa-applesmc,osk='ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc' -smbios type=2 -usb -device usb-kbd -device usb-tablet -drive file=/home/gns3/GNS3/images/QEMU/OpenCore.iso,if=none,id=drive-ide2,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=101 -drive file=/home/gns3/GNS3/images/QEMU/Catalina-installer.iso,if=none,id=drive-ide0,cache=unsafe,format=raw,aio=threads,detect-zeroes=on -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0" }, "images": [ { diff --git a/gns3server/appliances/microcore-linux.gns3a b/gns3server/appliances/microcore-linux.gns3a index cf7a82e46..0b42f6e19 100644 --- a/gns3server/appliances/microcore-linux.gns3a +++ b/gns3server/appliances/microcore-linux.gns3a @@ -17,6 +17,7 @@ "adapter_type": "e1000", "adapters": 1, "ram": 64, + "hda_disk_interface": "ide", "arch": "i386", "console_type": "telnet", "kvm": "allow" diff --git a/gns3server/appliances/mikrotik-chr.gns3a b/gns3server/appliances/mikrotik-chr.gns3a index db2e9da27..707cdfc28 100644 --- a/gns3server/appliances/mikrotik-chr.gns3a +++ b/gns3server/appliances/mikrotik-chr.gns3a @@ -26,34 +26,34 @@ "options": "-nographic" }, "images": [ - { - "filename": "chr-7.0beta8.img", - "version": "7.0beta8", - "md5sum": "dbc5b9a1d7cc0e56d5361a0e212dbd96", - "filesize": 67108864, - "download_url": "http://www.mikrotik.com/download", - "direct_download_url": "https://download.mikrotik.com/routeros/7.0beta8/chr-7.0beta8.img.zip", - "compression": "zip" - }, - { - "filename": "chr-6.47.img", - "version": "6.47", - "md5sum": "39dea5d6a58708eebfa73332456566f4", - "filesize": 67108864, - "download_url": "http://www.mikrotik.com/download", - "direct_download_url": "https://download.mikrotik.com/routeros/6.47/chr-6.47.img.zip", - "compression": "zip" - }, - { - "filename": "chr-6.46.5.img", - "version": "6.46.5", - "md5sum": "f9ea37f5a5ac3110f8f5de33e24a7749", - "filesize": 67108864, - "download_url": "http://www.mikrotik.com/download", - "direct_download_url": "https://download.mikrotik.com/routeros/6.46.5/chr-6.46.5.img.zip", - "compression": "zip" - }, - { + { + "filename": "chr-7.0beta8.img", + "version": "7.0beta8", + "md5sum": "dbc5b9a1d7cc0e56d5361a0e212dbd96", + "filesize": 67108864, + "download_url": "http://www.mikrotik.com/download", + "direct_download_url": "https://download.mikrotik.com/routeros/7.0beta8/chr-7.0beta8.img.zip", + "compression": "zip" + }, + { + "filename": "chr-6.47.img", + "version": "6.47", + "md5sum": "39dea5d6a58708eebfa73332456566f4", + "filesize": 67108864, + "download_url": "http://www.mikrotik.com/download", + "direct_download_url": "https://download.mikrotik.com/routeros/6.47/chr-6.47.img.zip", + "compression": "zip" + }, + { + "filename": "chr-6.46.5.img", + "version": "6.46.5", + "md5sum": "f9ea37f5a5ac3110f8f5de33e24a7749", + "filesize": 67108864, + "download_url": "http://www.mikrotik.com/download", + "direct_download_url": "https://download.mikrotik.com/routeros/6.46.5/chr-6.46.5.img.zip", + "compression": "zip" + }, + { "filename": "chr-6.45.8.img", "version": "6.45.8", "md5sum": "73cc01e22e0b301dc29416f59ced8a7d", @@ -61,8 +61,8 @@ "download_url": "http://www.mikrotik.com/download", "direct_download_url": "https://download.mikrotik.com/routeros/6.45.8/chr-6.45.8.img.zip", "compression": "zip" - }, - { + }, + { "filename": "chr-6.45.6.img", "version": "6.45.6", "md5sum": "e68db699ba23ac7e4fba95b3075c1c6b", @@ -126,13 +126,13 @@ "compression": "zip" }, { - "filename": "chr-6.42.9.img", - "version": "6.42.9", - "md5sum": "1f856978cfc3ceb4b5e18e4e079f2e32", - "filesize": 134217728, - "download_url": "http://www.mikrotik.com/download", - "direct_download_url": "https://download.mikrotik.com/routeros/6.42.9/chr-6.42.9.img.zip", - "compression": "zip" + "filename": "chr-6.42.9.img", + "version": "6.42.9", + "md5sum": "1f856978cfc3ceb4b5e18e4e079f2e32", + "filesize": 134217728, + "download_url": "http://www.mikrotik.com/download", + "direct_download_url": "https://download.mikrotik.com/routeros/6.42.9/chr-6.42.9.img.zip", + "compression": "zip" }, { "filename": "chr-6.42.img", diff --git a/gns3server/appliances/mininet.gns3a b/gns3server/appliances/mininet.gns3a index 80900c2b6..50540c202 100644 --- a/gns3server/appliances/mininet.gns3a +++ b/gns3server/appliances/mininet.gns3a @@ -1,29 +1,29 @@ { + "name": "Mininet", "category": "guest", + "description": "Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command.", + "vendor_name": "Mininet Team", + "vendor_url": "http://mininet.org/", + "documentation_url": "http://mininet.org/walkthrough/", + "product_name": "Mininet", + "product_url": "http://mininet.org/", + "registry_version": 4, "status": "stable", + "availability": "free", "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", - "description": "Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command.", - "product_name": "Mininet", - "registry_version": 4, - "product_url": "http://mininet.org/", - "documentation_url": "http://mininet.org/walkthrough/", - "first_port_name": "eth0", "usage": "Username: mininet\nPassword: mininet", + "first_port_name": "eth0", "port_name_format": "eth{0}", - "vendor_name": "Mininet Team", "qemu": { - "adapters": 1, "adapter_type": "virtio-net-pci", - "arch": "x86_64", + "adapters": 1, "ram": 2048, - "console_type": "vnc", "hda_disk_interface": "virtio", + "arch": "x86_64", + "console_type": "vnc", "kvm": "allow" }, - "availability": "free", - "vendor_url": "http://mininet.org/", - "name": "Mininet", "images": [ { "filename": "mininet-vm-x86_64.vmdk", @@ -37,10 +37,10 @@ ], "versions": [ { + "name": "2.2.2", "images": { "hda_disk_image": "mininet-vm-x86_64.vmdk" - }, - "name": "2.2.2" + } } ] } diff --git a/gns3server/appliances/net_toolbox.gns3a b/gns3server/appliances/net_toolbox.gns3a index 8181fa8bb..af6bdf137 100644 --- a/gns3server/appliances/net_toolbox.gns3a +++ b/gns3server/appliances/net_toolbox.gns3a @@ -9,8 +9,8 @@ "status": "stable", "maintainer": "Andras Dosztal", "maintainer_email": "developers@gns3.net", - "symbol": "linux_guest.svg", "usage": "Root password: gns3", + "symbol": "linux_guest.svg", "docker": { "adapters": 1, "image": "adosztal/net_toolbox:latest", diff --git a/gns3server/appliances/netem.gns3a b/gns3server/appliances/netem.gns3a index d6121edf5..3b17c9c3b 100644 --- a/gns3server/appliances/netem.gns3a +++ b/gns3server/appliances/netem.gns3a @@ -16,6 +16,7 @@ "adapter_type": "e1000", "adapters": 2, "ram": 96, + "hda_disk_interface": "ide", "arch": "i386", "console_type": "telnet", "kvm": "allow", diff --git a/gns3server/appliances/onos.gns3a b/gns3server/appliances/onos.gns3a index ebfd82636..848dac12d 100644 --- a/gns3server/appliances/onos.gns3a +++ b/gns3server/appliances/onos.gns3a @@ -4,9 +4,9 @@ "description": "The Open Network Operating System (ONOS) is a software defined networking (SDN) OS for service providers that has scalability, high availability, high performance and abstractions to make it easy to create apps and services. The platform is based on a solid architecture and has quickly matured to be feature rich and production ready. The community has grown to include over 50 partners and collaborators that contribute to all aspects of the project including interesting use cases such as CORD", "vendor_name": "Onos", "vendor_url": "http://onosproject.org/", - "product_url": "http://onosproject.org/", "documentation_url": "https://wiki.onosproject.org", "product_name": "Onos", + "product_url": "http://onosproject.org/", "registry_version": 3, "status": "stable", "maintainer": "GNS3 Team", diff --git a/gns3server/appliances/op5-monitor.gns3a b/gns3server/appliances/op5-monitor.gns3a index 4a6b61d78..d6adc3f7a 100644 --- a/gns3server/appliances/op5-monitor.gns3a +++ b/gns3server/appliances/op5-monitor.gns3a @@ -1,7 +1,7 @@ { "name": "OP5 Monitor", "category": "guest", - "description": "Over 200,000 IT staff across medium to large enterprises worldwide are currently using OP5 Monitor as their preferred network monitoring software.\nOP5 Monitor allows you to take control of your IT, enabling your network to be more responsive, more reliable and even faster than ever before. With unparalleled scalability, OP5 Monitor grows as your company grows, so you’ll understand why we say this is the last network monitor you’ll ever need to purchase.", + "description": "Over 200,000 IT staff across medium to large enterprises worldwide are currently using OP5 Monitor as their preferred network monitoring software.\nOP5 Monitor allows you to take control of your IT, enabling your network to be more responsive, more reliable and even faster than ever before. With unparalleled scalability, OP5 Monitor grows as your company grows, so you'll understand why we say this is the last network monitor you'll ever need to purchase.", "vendor_name": "OP5", "vendor_url": "https://www.op5.com/", "documentation_url": "https://kb.op5.com/display/MAN/Documentation+Home#sthash.pohb5bis.dpbs", @@ -12,8 +12,8 @@ "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Newer versions come with OVA files only, you need to extract it to get the VMDK disk file.\nInterface eth0 is set to DHCP. Default credentials:\n- CLI: root / monitor\n- Web access: admin / monitor\n- Logserver Extension: admin / admin", - "port_name_format": "eth{0}", "symbol": "mgmt_station.svg", + "port_name_format": "eth{0}", "qemu": { "adapter_type": "virtio-net-pci", "adapters": 2, diff --git a/gns3server/appliances/openbsd.gns3a b/gns3server/appliances/openbsd.gns3a index 36284e549..71c7a3ced 100644 --- a/gns3server/appliances/openbsd.gns3a +++ b/gns3server/appliances/openbsd.gns3a @@ -17,6 +17,7 @@ "adapter_type": "e1000", "adapters": 8, "ram": 256, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "allow" diff --git a/gns3server/appliances/opennac.gns3a b/gns3server/appliances/opennac.gns3a index f1e39bc48..37e9e45a3 100644 --- a/gns3server/appliances/opennac.gns3a +++ b/gns3server/appliances/opennac.gns3a @@ -17,6 +17,7 @@ "adapter_type": "e1000", "adapters": 1, "ram": 512, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "kvm": "require", @@ -39,6 +40,5 @@ "hda_disk_image": "opennac_3711_img.qcow2" } } - -] + ] } diff --git a/gns3server/appliances/openvswitch.gns3a b/gns3server/appliances/openvswitch.gns3a index ed31ea8f8..c35b6a68b 100644 --- a/gns3server/appliances/openvswitch.gns3a +++ b/gns3server/appliances/openvswitch.gns3a @@ -4,9 +4,9 @@ "description": "Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.", "vendor_name": "Open vSwitch", "vendor_url": "http://openvswitch.org/", - "product_url": "http://openvswitch.org/", "documentation_url": "http://openvswitch.org/support/", "product_name": "Open vSwitch", + "product_url": "http://openvswitch.org/", "registry_version": 3, "status": "stable", "maintainer": "GNS3 Team", diff --git a/gns3server/appliances/openwrt-realview.gns3a b/gns3server/appliances/openwrt-realview.gns3a index 663efcf4e..91598813d 100644 --- a/gns3server/appliances/openwrt-realview.gns3a +++ b/gns3server/appliances/openwrt-realview.gns3a @@ -23,7 +23,7 @@ "images": [ { "filename": "openwrt-15.05.1-realview-vmlinux-initramfs.elf", - "version": "15.05.1", + "version": "Chaos Calmer 15.05.1", "md5sum": "3660b9de654cf03f2a50997ae89c2daf", "filesize": 2278696, "download_url": "http://downloads.openwrt.org/chaos_calmer/15.05.1/realview/generic/", @@ -31,7 +31,7 @@ }, { "filename": "openwrt-realview-vmlinux-initramfs-14.07.elf", - "version": "14.07", + "version": "Barrier Breaker 14.07", "md5sum": "2411307d0794baa618537c5dfcb19575", "filesize": 2183520, "download_url": "http://downloads.openwrt.org/barrier_breaker/14.07/realview/generic/", diff --git a/gns3server/appliances/openwrt.gns3a b/gns3server/appliances/openwrt.gns3a index 6bde4dc2f..8ad0cbf60 100644 --- a/gns3server/appliances/openwrt.gns3a +++ b/gns3server/appliances/openwrt.gns3a @@ -16,6 +16,7 @@ "adapter_type": "virtio-net-pci", "adapters": 4, "ram": 128, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "allow" @@ -39,15 +40,6 @@ "direct_download_url": "https://downloads.openwrt.org/releases/19.07.2/targets/x86/64/openwrt-19.07.2-x86-64-combined-ext4.img.gz", "compression": "gzip" }, - { - "filename": "openwrt-18.06.8-x86-64-combined-ext4.img", - "version": "18.06.8", - "md5sum": "8b235443df9d1a236b147c1c29a97083", - "filesize": 285736960, - "download_url": "https://downloads.openwrt.org/releases/18.06.8/targets/x86/64/", - "direct_download_url": "https://downloads.openwrt.org/releases/18.06.8/targets/x86/64/openwrt-18.06.8-x86-64-combined-ext4.img.gz", - "compression": "gzip" - }, { "filename": "openwrt-19.07.1-x86-64-combined-ext4.img", "version": "19.07.1", @@ -57,15 +49,6 @@ "direct_download_url": "https://downloads.openwrt.org/releases/19.07.1/targets/x86/64/openwrt-19.07.1-x86-64-combined-ext4.img.gz", "compression": "gzip" }, - { - "filename": "openwrt-18.06.7-x86-64-combined-ext4.img", - "version": "18.06.7", - "md5sum": "f463f38cccf89e1a2229f74a4c42d3ef", - "filesize": 285736960, - "download_url": "https://downloads.openwrt.org/releases/18.06.7/targets/x86/64/", - "direct_download_url": "https://downloads.openwrt.org/releases/18.06.7/targets/x86/64/openwrt-18.06.7-x86-64-combined-ext4.img.gz", - "compression": "gzip" - }, { "filename": "openwrt-19.07.0-x86-64-combined-ext4.img", "version": "19.07.0", @@ -75,6 +58,24 @@ "direct_download_url": "https://downloads.openwrt.org/releases/19.07.0/targets/x86/64/openwrt-19.07.0-x86-64-combined-ext4.img.gz", "compression": "gzip" }, + { + "filename": "openwrt-18.06.8-x86-64-combined-ext4.img", + "version": "18.06.8", + "md5sum": "8b235443df9d1a236b147c1c29a97083", + "filesize": 285736960, + "download_url": "https://downloads.openwrt.org/releases/18.06.8/targets/x86/64/", + "direct_download_url": "https://downloads.openwrt.org/releases/18.06.8/targets/x86/64/openwrt-18.06.8-x86-64-combined-ext4.img.gz", + "compression": "gzip" + }, + { + "filename": "openwrt-18.06.7-x86-64-combined-ext4.img", + "version": "18.06.7", + "md5sum": "f463f38cccf89e1a2229f74a4c42d3ef", + "filesize": 285736960, + "download_url": "https://downloads.openwrt.org/releases/18.06.7/targets/x86/64/", + "direct_download_url": "https://downloads.openwrt.org/releases/18.06.7/targets/x86/64/openwrt-18.06.7-x86-64-combined-ext4.img.gz", + "compression": "gzip" + }, { "filename": "openwrt-18.06.6-x86-64-combined-ext4.img", "version": "18.06.6", @@ -101,7 +102,7 @@ "download_url": "https://downloads.openwrt.org/releases/18.06.2/targets/x86/64/", "direct_download_url": "https://downloads.openwrt.org/releases/18.06.2/targets/x86/64/openwrt-18.06.2-x86-64-combined-ext4.img.gz", "compression": "gzip" - }, + }, { "filename": "openwrt-18.06.1-x86-64-combined-ext4.img", "version": "18.06.1", @@ -143,30 +144,30 @@ "hda_disk_image": "openwrt-19.07.2-x86-64-combined-ext4.img" } }, - { - "name": "18.06.8", - "images": { - "hda_disk_image": "openwrt-18.06.8-x86-64-combined-ext4.img" - } - }, { "name": "19.07.1", "images": { "hda_disk_image": "openwrt-19.07.1-x86-64-combined-ext4.img" } }, - { - "name": "18.06.7", - "images": { - "hda_disk_image": "openwrt-18.06.7-x86-64-combined-ext4.img" - } - }, { "name": "19.07.0", "images": { "hda_disk_image": "openwrt-19.07.0-x86-64-combined-ext4.img" } }, + { + "name": "18.06.8", + "images": { + "hda_disk_image": "openwrt-18.06.8-x86-64-combined-ext4.img" + } + }, + { + "name": "18.06.7", + "images": { + "hda_disk_image": "openwrt-18.06.7-x86-64-combined-ext4.img" + } + }, { "name": "18.06.6", "images": { @@ -180,25 +181,25 @@ } }, { - "name": "openwrt 18.06.2", + "name": "18.06.2", "images": { "hda_disk_image": "openwrt-18.06.2-x86-64-combined-ext4.img" } }, - { - "name": "openwrt 18.06.1", + { + "name": "18.06.1", "images": { "hda_disk_image": "openwrt-18.06.1-x86-64-combined-ext4.img" } }, { - "name": "openwrt/lede 17.01.6", + "name": "17.01.6", "images": { "hda_disk_image": "lede-17.01.6-x86-64-combined-ext4.img" } }, { - "name": "openwrt 15.05.1", + "name": "15.05.1", "images": { "hda_disk_image": "openwrt-15.05.1-x86-64-combined-ext4.img" } diff --git a/gns3server/appliances/opnsense.gns3a b/gns3server/appliances/opnsense.gns3a index 5633d38e5..b5519d1b8 100644 --- a/gns3server/appliances/opnsense.gns3a +++ b/gns3server/appliances/opnsense.gns3a @@ -1,7 +1,7 @@ { "name": "OPNsense", "category": "firewall", - "description": "OPNsense is an open source, easy-to-use and easy-to-build FreeBSD based firewall and routing platform. OPNsense includes most of the features available in expensive commercial firewalls, and more in many cases. It brings the rich feature set of commercial offerings with the benefits of open and verifiable sources.\n\nOPNsense started as a fork of pfSense® and m0n0wall in 2014, with its first official release in January 2015. The project has evolved very quickly while still retaining familiar aspects of both m0n0wall and pfSense. A strong focus on security and code quality drives the development of the project.", + "description": "OPNsense is an open source, easy-to-use and easy-to-build FreeBSD based firewall and routing platform. OPNsense includes most of the features available in expensive commercial firewalls, and more in many cases. It brings the rich feature set of commercial offerings with the benefits of open and verifiable sources.\n\nOPNsense started as a fork of pfSense\u00ae and m0n0wall in 2014, with its first official release in January 2015. The project has evolved very quickly while still retaining familiar aspects of both m0n0wall and pfSense. A strong focus on security and code quality drives the development of the project.", "vendor_name": "Deciso B.V.", "vendor_url": "https://opnsense.org/", "documentation_url": "https://wiki.opnsense.org/", diff --git a/gns3server/appliances/ostinato.gns3a b/gns3server/appliances/ostinato.gns3a index f65e24f17..7e72c1e9c 100644 --- a/gns3server/appliances/ostinato.gns3a +++ b/gns3server/appliances/ostinato.gns3a @@ -18,6 +18,7 @@ "adapter_type": "e1000", "adapters": 4, "ram": 256, + "hda_disk_interface": "ide", "arch": "i386", "console_type": "vnc", "kvm": "allow", diff --git a/gns3server/appliances/pan-vm-fw.gns3a b/gns3server/appliances/pan-vm-fw.gns3a index edb8b7087..a0bb01d55 100644 --- a/gns3server/appliances/pan-vm-fw.gns3a +++ b/gns3server/appliances/pan-vm-fw.gns3a @@ -19,105 +19,183 @@ "adapter_type": "virtio-net-pci", "adapters": 25, "ram": 4096, + "hda_disk_interface": "virtio", "arch": "x86_64", "console_type": "telnet", - "hda_disk_interface": "virtio", "kvm": "require", "options": "-smp 2" }, "images": [ - { + { + "filename": "PA-VM-KVM-10.0.0.qcow2", + "version": "10.0.0", + "md5sum": "d73a41e4d8f6f5a5291fde08b79a071e", + "filesize": 3059023872, + "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" + }, + { + "filename": "PA-VM-KVM-9.1.3.qcow2", + "version": "9.1.3", + "md5sum": "f49c20ac7675f2b5686d3496217cf68d", + "filesize": 3391553536, + "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" + }, + { + "filename": "PA-VM-KVM-9.1.2.qcow2", + "version": "9.1.2", + "md5sum": "240b39cfb8b85d5ac3adf3a2bf7c5079", + "filesize": 3303276544, + "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" + }, + { + "filename": "PA-VM-KVM-9.1.0.qcow2", + "version": "9.1.0", + "md5sum": "fb65dc077011d84dacdde68d26cb291e", + "filesize": 2622554112, + "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" + }, + { + "filename": "PA-VM-KVM-9.0.4.qcow2", + "version": "9.0.4", + "md5sum": "0d1a5f4621a1b01a8cebf9ab0653417d", + "filesize": 3198615552, + "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" + }, + { + "filename": "PA-VM-KVM-9.0.0.qcow2", + "version": "9.0.0", + "md5sum": "c1a38b390e054878e5777595aa16fe87", + "filesize": 2694840320, + "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" + }, + { "filename": "PA-VM-ESX-8.1.0-disk1.vmdk", - "version": "8.1.0", + "version": "8.1.0 (ESX)", "md5sum": "49af8e8225c2e90414bde0be15eaf421", "filesize": 2281454080, "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" - }, - { + }, + { "filename": "PA-VM-KVM-8.1.0.qcow2", "version": "8.1.0", "md5sum": "459558515b965b2e43fde2842abbae66", "filesize": 2260467712, "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" }, - { + { "filename": "PA-VM-ESX-8.0.0-disk1.vmdk", - "version": "8.0.0", + "version": "8.0.0 (ESX)", "md5sum": "a505fb1dbcc855ecf98630fd5d329f9a", "filesize": 2002713088, "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" }, - { + { "filename": "PA-VM-KVM-8.0.0.qcow2", "version": "8.0.0", "md5sum": "b6a1ddc8552aff87f05f9c0d4cb54dc3", "filesize": 1987444736, "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" }, - { + { "filename": "PA-VM-ESX-7.1.0-disk1.vmdk", "version": "7.1.0 (ESX)", "md5sum": "e044dc649b7146ee4f619edb0e5f6675", "filesize": 1871149056, "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" }, - { + { "filename": "PA-VM-KVM-7.1.0.qcow2", "version": "7.1.0", "md5sum": "da300253709740068927408239c2e321", "filesize": 1858797568, "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" }, - { + { "filename": "PA-VM-ESX-6.1.0-disk1.vmdk", "version": "6.1.0 (ESX)", "md5sum": "64b1e81cd54008318235832ea6d71424", "filesize": 2959736832, "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" - } + } ], "versions": [ - { + { + "name": "10.0.0", + "images": { + "hda_disk_image": "PA-VM-KVM-10.0.0.qcow2" + } + }, + { + "name": "9.1.3", + "images": { + "hda_disk_image": "PA-VM-KVM-9.1.3.qcow2" + } + }, + { + "name": "9.1.2", + "images": { + "hda_disk_image": "PA-VM-KVM-9.1.2.qcow2" + } + }, + { + "name": "9.1.0", + "images": { + "hda_disk_image": "PA-VM-KVM-9.1.0.qcow2" + } + }, + { + "name": "9.0.4", + "images": { + "hda_disk_image": "PA-VM-KVM-9.0.4.qcow2" + } + }, + { + "name": "9.0.0", + "images": { + "hda_disk_image": "PA-VM-KVM-9.0.0.qcow2" + } + }, + { "name": "8.1.0 (ESX)", "images": { "hda_disk_image": "PA-VM-ESX-8.1.0-disk1.vmdk" } }, - { + { "name": "8.1.0", "images": { "hda_disk_image": "PA-VM-KVM-8.1.0.qcow2" } }, - { + { "name": "8.0.0 (ESX)", "images": { "hda_disk_image": "PA-VM-ESX-8.0.0-disk1.vmdk" } }, - { + { "name": "8.0.0", "images": { "hda_disk_image": "PA-VM-KVM-8.0.0.qcow2" } }, - { + { "name": "7.1.0 (ESX)", "images": { "hda_disk_image": "PA-VM-ESX-7.1.0-disk1.vmdk" } }, - { + { "name": "7.1.0", "images": { "hda_disk_image": "PA-VM-KVM-7.1.0.qcow2" } - }, - { + }, + { "name": "6.1.0 (ESX)", "images": { "hda_disk_image": "PA-VM-ESX-6.1.0-disk1.vmdk" } - } + } ] } diff --git a/gns3server/appliances/parrot-os.gns3a b/gns3server/appliances/parrot-os.gns3a index 93f4f9536..f2347c803 100644 --- a/gns3server/appliances/parrot-os.gns3a +++ b/gns3server/appliances/parrot-os.gns3a @@ -17,6 +17,7 @@ "adapter_type": "e1000", "adapters": 1, "ram": 2048, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "kvm": "require" @@ -46,7 +47,6 @@ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%30disk/", "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download" } - ], "versions": [ { @@ -63,6 +63,5 @@ "cdrom_image": "Parrot-security-3.11_amd64.iso" } } - -] + ] } diff --git a/gns3server/appliances/pfsense.gns3a b/gns3server/appliances/pfsense.gns3a index 7fb2245c2..329f2a243 100644 --- a/gns3server/appliances/pfsense.gns3a +++ b/gns3server/appliances/pfsense.gns3a @@ -16,9 +16,9 @@ "adapter_type": "e1000", "adapters": 6, "ram": 2048, + "hda_disk_interface": "virtio", "arch": "x86_64", "console_type": "vnc", - "hda_disk_interface": "virtio", "kvm": "allow", "process_priority": "normal" }, @@ -52,7 +52,6 @@ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/", "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download" } - ], "versions": [ { diff --git a/gns3server/appliances/riverbed-steelhead-cx.gns3a b/gns3server/appliances/riverbed-steelhead-cx.gns3a index 26f485eeb..b17c6c0d1 100644 --- a/gns3server/appliances/riverbed-steelhead-cx.gns3a +++ b/gns3server/appliances/riverbed-steelhead-cx.gns3a @@ -1,7 +1,7 @@ { "name": "SteelHead CX 555V", "category": "guest", - "description": "Riverbed SteelHead delivers not only best-in-class optimization – but essential visibility and control as companies transition to the Hybrid WAN. SteelHead CX for Virtual is available as a virtual solution on most major hypervisors including VMware vSphere, Microsoft Hyper-V and KVM. It accelerates the performance of all applications including on-premises, cloud, and SaaS across the hybrid enterprise for organizations that want to deliver the best end user experience – while leveraging the scalability and cost benefits of virtualization.\n\nSteelHead CX for Virtual uniquely delivers the best application performance along with application, network and end user visibility, and simplified control management of users, applications and networks based on business requirements and decisions.", + "description": "Riverbed SteelHead delivers not only best-in-class optimization - but essential visibility and control as companies transition to the Hybrid WAN. SteelHead CX for Virtual is available as a virtual solution on most major hypervisors including VMware vSphere, Microsoft Hyper-V and KVM. It accelerates the performance of all applications including on-premises, cloud, and SaaS across the hybrid enterprise for organizations that want to deliver the best end user experience - while leveraging the scalability and cost benefits of virtualization.\n\nSteelHead CX for Virtual uniquely delivers the best application performance along with application, network and end user visibility, and simplified control management of users, applications and networks based on business requirements and decisions.", "vendor_name": "Riverbed Technology", "vendor_url": "http://www.riverbed.com", "documentation_url": "https://support.riverbed.com/content/support/software/steelhead/cx-appliance.html", diff --git a/gns3server/appliances/security-onion.gns3a b/gns3server/appliances/security-onion.gns3a index 143727881..30130e390 100644 --- a/gns3server/appliances/security-onion.gns3a +++ b/gns3server/appliances/security-onion.gns3a @@ -1,7 +1,7 @@ { "name": "Security Onion", "category": "guest", - "description": "Security Onion is a Linux distro for intrusion detection, network security monitoring, and log management. It’s based on Ubuntu and contains Snort, Suricata, Bro, OSSEC, Sguil, Squert, ELSA, Xplico, NetworkMiner, and many other security tools. The easy-to-use Setup wizard allows you to build an army of distributed sensors for your enterprise in minutes!", + "description": "Security Onion is a Linux distro for intrusion detection, network security monitoring, and log management. It's based on Ubuntu and contains Snort, Suricata, Bro, OSSEC, Sguil, Squert, ELSA, Xplico, NetworkMiner, and many other security tools. The easy-to-use Setup wizard allows you to build an army of distributed sensors for your enterprise in minutes!", "vendor_name": "Security Onion Solutions, LLC", "vendor_url": "https://securityonion.net/", "documentation_url": "https://github.com/Security-Onion-Solutions/security-onion/wiki", @@ -17,26 +17,27 @@ "adapter_type": "e1000", "adapters": 2, "ram": 3072, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "kvm": "allow" }, "images": [ + { + "filename": "securityonion-16.04.7.1.iso", + "version": "16.04.7.1", + "md5sum": "6bd811a05c1ec7973b8fca5c34cec13e", + "filesize": 2132803584, + "download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/", + "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v16.04.7.1_20181010/securityonion-16.04.7.1.iso" + }, { "filename": "securityonion-16.04.6.1.iso", "version": "16.04.6.1", "md5sum": "ca835cef92c2c0daafa16e789c343d1d", "filesize": 2020605952, "download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/", - "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v16.04.5.3_20181010/securityonion-16.04.6.1.iso" - }, - { - "filename": "securityonion-16.04.5.3.iso", - "version": "16.04.5.3", - "md5sum": "886b369548c9c3841bc820cc3ab02bd9", - "filesize": 1895825408, - "download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/", - "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v16.04.5.3_20181010/securityonion-16.04.5.3.iso" + "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v16.04.6.1_20181010/securityonion-16.04.6.1.iso" }, { "filename": "securityonion-14.04.5.4.iso", @@ -46,14 +47,6 @@ "download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/", "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso" }, - { - "filename": "securityonion-14.04.5.3.iso", - "version": "14.04.5.3", - "md5sum": "fb80ccb2d3c0f3f511823fa5858f87d1", - "filesize": 1889533952, - "download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/", - "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.3.iso" - }, { "filename": "empty30G.qcow2", "version": "1.0", @@ -62,21 +55,21 @@ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%30disk/", "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download" } - ], "versions": [ + { + "name": "16.04.7.1", + "images": { + "hda_disk_image": "empty30G.qcow2", + "cdrom_image": "securityonion-16.04.7.1.iso" + } + }, { "name": "16.04.6.1", "images": { "hda_disk_image": "empty30G.qcow2", "cdrom_image": "securityonion-16.04.6.1.iso" } - }, { - "name": "16.04.5.3", - "images": { - "hda_disk_image": "empty30G.qcow2", - "cdrom_image": "securityonion-16.04.5.3.iso" - } }, { "name": "14.04.5.4", @@ -84,14 +77,6 @@ "hda_disk_image": "empty30G.qcow2", "cdrom_image": "securityonion-14.04.5.4.iso" } - }, - { - "name": "14.04.5.3", - "images": { - "hda_disk_image": "empty30G.qcow2", - "cdrom_image": "securityonion-14.04.5.3.iso" - } } - -] + ] } diff --git a/gns3server/appliances/sophos-iview.gns3a b/gns3server/appliances/sophos-iview.gns3a index 59670f7aa..7debb64ec 100644 --- a/gns3server/appliances/sophos-iview.gns3a +++ b/gns3server/appliances/sophos-iview.gns3a @@ -1,7 +1,7 @@ { "name": "Sophos iView", "category": "guest", - "description": "Monitoring a distributed network across multiple locations can be a challenge. That’s where Sophos iView can help. It provides you with an intelligent, uninterrupted view of your network from a single pane of glass. If you have multiple appliances, need consolidated reporting, or could just use help with log management or compliance, Sophos iView is the ideal solution.", + "description": "Monitoring a distributed network across multiple locations can be a challenge. That's where Sophos iView can help. It provides you with an intelligent, uninterrupted view of your network from a single pane of glass. If you have multiple appliances, need consolidated reporting, or could just use help with log management or compliance, Sophos iView is the ideal solution.", "vendor_name": "Sophos", "vendor_url": "https://www.sophos.com", "documentation_url": "https://www.sophos.com/en-us/support/documentation/sophos-iview.aspx", diff --git a/gns3server/appliances/sophos-utm.gns3a b/gns3server/appliances/sophos-utm.gns3a index 6f7853172..5195f3616 100644 --- a/gns3server/appliances/sophos-utm.gns3a +++ b/gns3server/appliances/sophos-utm.gns3a @@ -1,7 +1,7 @@ { "name": "Sophos UTM Home Edition", "category": "firewall", - "description": "Sophos Free Home Use Firewall is a fully equipped software version of the Sophos UTM firewall, available at no cost for home users \u2013 no strings attached. It features full Network, Web, Mail and Web Application Security with VPN functionality and protects up to 50 IP addresses. The Sophos UTM Free Home Use firewall contains its own operating system and will overwrite all data on the computer during the installation process. Therefore, a separate, dedicated computer or VM is needed, which will change into a fully functional security appliance.", + "description": "Sophos Free Home Use Firewall is a fully equipped software version of the Sophos UTM firewall, available at no cost for home users - no strings attached. It features full Network, Web, Mail and Web Application Security with VPN functionality and protects up to 50 IP addresses. The Sophos UTM Free Home Use firewall contains its own operating system and will overwrite all data on the computer during the installation process. Therefore, a separate, dedicated computer or VM is needed, which will change into a fully functional security appliance.", "vendor_name": "Sophos Ltd.", "vendor_url": "https://www.sophos.com/", "documentation_url": "https://community.sophos.com/products/unified-threat-management/", diff --git a/gns3server/appliances/sophos-xg.gns3a b/gns3server/appliances/sophos-xg.gns3a index e17a9b675..cefeb5dad 100644 --- a/gns3server/appliances/sophos-xg.gns3a +++ b/gns3server/appliances/sophos-xg.gns3a @@ -152,7 +152,7 @@ } }, { - "name": "16.05.1 MR1", + "name": "16.05.1 RC1", "images": { "hda_disk_image": "VI-SFOS_16.05.0_RC-1.KVM-098-PRIMARY.qcow2", "hdb_disk_image": "VI-SFOS_16.05.0_RC-1.KVM-098-AUXILARY.qcow2" diff --git a/gns3server/appliances/tinycore-linux.gns3a b/gns3server/appliances/tinycore-linux.gns3a index b2828daaa..dec2df0de 100644 --- a/gns3server/appliances/tinycore-linux.gns3a +++ b/gns3server/appliances/tinycore-linux.gns3a @@ -17,10 +17,10 @@ "adapter_type": "e1000", "adapters": 1, "ram": 96, + "hda_disk_interface": "virtio", "arch": "i386", "console_type": "vnc", "kvm": "allow", - "hda_disk_interface": "virtio", "options": "-vga std -usbdevice tablet" }, "images": [ @@ -34,7 +34,7 @@ }, { "filename": "linux-tinycore-6.4-2.img", - "version": "6.4", + "version": "6.4~2", "md5sum": "dcbb5318c3e18ab085088d4474d8de85", "filesize": 36503552, "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/", @@ -42,7 +42,7 @@ }, { "filename": "linux-tinycore-6.4.img", - "version": "6.4", + "version": "6.4~1", "md5sum": "e3de478780c0acb76ef92f872fe734c4", "filesize": 22544384, "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/", diff --git a/gns3server/appliances/trendmicro-imsva.gns3a b/gns3server/appliances/trendmicro-imsva.gns3a index c83255da7..4991b1bc1 100644 --- a/gns3server/appliances/trendmicro-imsva.gns3a +++ b/gns3server/appliances/trendmicro-imsva.gns3a @@ -1,7 +1,7 @@ { "name": "IMS VA", "category": "firewall", - "description": "Trend Micro InterScan Messaging Security stops email threats in the cloud with global threat intelligence, protects your data with data loss prevention and encryption, and identifies targeted email attacks,ransomware, and APTs as part of the Trend Micro Network Defense Solution. The hybrid SaaS deployment combines the privacy and control of an on-premises virtual appliance with the proactive protection of a cloud-based pre-filter service. It’s the enterprise-level protection you need with the highest spam and phishing detection rates—consistently #1 in quarterly Opus One competitive tests since 2011.", + "description": "Trend Micro InterScan Messaging Security stops email threats in the cloud with global threat intelligence, protects your data with data loss prevention and encryption, and identifies targeted email attacks,ransomware, and APTs as part of the Trend Micro Network Defense Solution. The hybrid SaaS deployment combines the privacy and control of an on-premises virtual appliance with the proactive protection of a cloud-based pre-filter service. It's the enterprise-level protection you need with the highest spam and phishing detection rates-consistently #1 in quarterly Opus One competitive tests since 2011.", "vendor_name": "Trend Micro Inc.", "vendor_url": "http://www.trendmicro.com/", "documentation_url": "https://success.trendmicro.com/product-support/interscan-messaging-security", diff --git a/gns3server/appliances/ubuntu-cloud.gns3a b/gns3server/appliances/ubuntu-cloud.gns3a index 67fe81f7f..d941143e8 100644 --- a/gns3server/appliances/ubuntu-cloud.gns3a +++ b/gns3server/appliances/ubuntu-cloud.gns3a @@ -27,7 +27,7 @@ "images": [ { "filename": "ubuntu-18.04-server-cloudimg-amd64.img", - "version": "18.04", + "version": "18.04 (LTS)", "md5sum": "f4134e7fa16d7fa766c7467cbe25c949", "filesize": 336134144, "download_url": "https://cloud-images.ubuntu.com/releases/18.04/release-20180426.2/ubuntu-18.04-server-cloudimg-amd64.img" @@ -41,14 +41,14 @@ }, { "filename": "ubuntu-16.04-server-cloudimg-amd64-disk1.img", - "version": "16.04", + "version": "16.04 (LTS)", "md5sum": "22c124ba65ea096cdef8b0a197dd613a", "filesize": 290193408, "download_url": "https://cloud-images.ubuntu.com/releases/16.04/release-20180405/ubuntu-16.04-server-cloudimg-amd64-disk1.img" }, { "filename": "ubuntu-14.04-server-cloudimg-amd64-disk1.img", - "version": "14.04", + "version": "14.04 (LTS)", "md5sum": "d11b89321d41d0eeddcacf73bf0d2262", "filesize": 262668800, "download_url": "https://cloud-images.ubuntu.com/releases/14.04/release-20180404/ubuntu-14.04-server-cloudimg-amd64-disk1.img" diff --git a/gns3server/appliances/ubuntu-gui.gns3a b/gns3server/appliances/ubuntu-gui.gns3a index fe1050d20..8d916e206 100644 --- a/gns3server/appliances/ubuntu-gui.gns3a +++ b/gns3server/appliances/ubuntu-gui.gns3a @@ -81,4 +81,3 @@ } ] } - diff --git a/gns3server/appliances/ubuntu-server.gns3a b/gns3server/appliances/ubuntu-server.gns3a index 6d96e0dba..5013a2dc8 100644 --- a/gns3server/appliances/ubuntu-server.gns3a +++ b/gns3server/appliances/ubuntu-server.gns3a @@ -27,7 +27,7 @@ "images": [ { "filename": "Ubuntu Server 18.04.3 LTS (64bit).vmdk", - "version": "18.04.3", + "version": "18.04.3 LTS Server", "md5sum": "435f15a54f7f673e302ad26f05226e0e", "filesize": 2707814912, "download_url": "https://www.ictkin.com/gns3-appliance/" diff --git a/gns3server/appliances/untangle.gns3a b/gns3server/appliances/untangle.gns3a index b8a5ddc2a..c17de990f 100644 --- a/gns3server/appliances/untangle.gns3a +++ b/gns3server/appliances/untangle.gns3a @@ -1,7 +1,7 @@ { "name": "Untangle NG", "category": "firewall", - "description": "Untangle\u2019s NG Firewall enables you to quickly and easily create the network policies that deliver the perfect balance between security and productivity. Untangle combines Unified Threat Management (UTM)\u2014to address all of the key network threats\u2014with policy management tools that enable you to define access and control by individuals, groups or company-wide. And with industry-leading reports, you\u2019ll have complete visibility into and control over everything that\u2019s happening on your network.", + "description": "Untangle's NG Firewall enables you to quickly and easily create the network policies that deliver the perfect balance between security and productivity. Untangle combines Unified Threat Management (UTM)-to address all of the key network threats-with policy management tools that enable you to define access and control by individuals, groups or company-wide. And with industry-leading reports, you'll have complete visibility into and control over everything that's happening on your network.", "vendor_name": "Untangle", "vendor_url": "https://www.untangle.com/", "documentation_url": "http://wiki.untangle.com/index.php/Main_Page", diff --git a/gns3server/appliances/viptela-edge-genericx86-64.gns3a b/gns3server/appliances/viptela-edge-genericx86-64.gns3a index 9bd998bc3..a79151d16 100644 --- a/gns3server/appliances/viptela-edge-genericx86-64.gns3a +++ b/gns3server/appliances/viptela-edge-genericx86-64.gns3a @@ -18,9 +18,9 @@ "adapter_type": "vmxnet3", "adapters": 5, "ram": 2048, + "hda_disk_interface": "virtio", "arch": "x86_64", "console_type": "telnet", - "hda_disk_interface": "virtio", "kvm": "require", "options": "-cpu host" }, @@ -39,7 +39,6 @@ "filesize": 328400896, "download_url": "http://www.cisco.com/" } - ], "versions": [ { diff --git a/gns3server/appliances/viptela-smart-genericx86-64.gns3a b/gns3server/appliances/viptela-smart-genericx86-64.gns3a index 6c175bf05..8e3999bee 100644 --- a/gns3server/appliances/viptela-smart-genericx86-64.gns3a +++ b/gns3server/appliances/viptela-smart-genericx86-64.gns3a @@ -16,6 +16,7 @@ "adapter_type": "vmxnet3", "adapters": 6, "ram": 4096, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", diff --git a/gns3server/appliances/viptela-vmanage-genericx86-64.gns3a b/gns3server/appliances/viptela-vmanage-genericx86-64.gns3a index a991f44e5..4f7b9ef63 100644 --- a/gns3server/appliances/viptela-vmanage-genericx86-64.gns3a +++ b/gns3server/appliances/viptela-vmanage-genericx86-64.gns3a @@ -16,6 +16,8 @@ "adapter_type": "vmxnet3", "adapters": 6, "ram": 32768, + "hda_disk_interface": "ide", + "hdb_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "require", @@ -50,16 +52,14 @@ "name": "19.2.0", "images": { "hda_disk_image": "viptela-vmanage-19.2.0-genericx86-64.qcow2", - "hdb_disk_image": "empty30G.qcow2" - + "hdb_disk_image": "empty30G.qcow2" } }, { "name": "18.3.7", "images": { "hda_disk_image": "viptela-vmanage-genericx86-64-disk1.vmdk", - "hdb_disk_image": "empty30G.qcow2" - + "hdb_disk_image": "empty30G.qcow2" } } ] diff --git a/gns3server/appliances/vpp.gns3a b/gns3server/appliances/vpp.gns3a index cbd399975..95b8682a3 100644 --- a/gns3server/appliances/vpp.gns3a +++ b/gns3server/appliances/vpp.gns3a @@ -27,14 +27,13 @@ "images": [ { "filename": "vpp_public-18.10-07.qcow2", - "version": "0.7", + "version": "18.10-07", "md5sum": "3e962985e5bbda0de4dc7893e60f6366", "filesize": 2065825792, "direct_download_url": "https://sigaba.net/vpp/vpp_public-18.10-07.qcow2" } ], "versions": [ - { "name": "18.10-07", "images": { @@ -43,4 +42,3 @@ } ] } - diff --git a/gns3server/appliances/vrin.gns3a b/gns3server/appliances/vrin.gns3a index 94e419a79..da77e45ff 100644 --- a/gns3server/appliances/vrin.gns3a +++ b/gns3server/appliances/vrin.gns3a @@ -15,6 +15,7 @@ "adapter_type": "e1000", "adapters": 1, "ram": 256, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "kvm": "allow" diff --git a/gns3server/appliances/vyos.gns3a b/gns3server/appliances/vyos.gns3a index 5c1334adf..5ca97f538 100644 --- a/gns3server/appliances/vyos.gns3a +++ b/gns3server/appliances/vyos.gns3a @@ -9,15 +9,16 @@ "product_url": "http://vyos.net/", "registry_version": 3, "status": "stable", - "symbol": "vyos.png", "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "usage": "Default username/password is vyos/vyos. At first boot the router will start from the cdrom, login and then type install system and follow the instructions.", + "symbol": "vyos.png", "port_name_format": "eth{0}", "qemu": { "adapter_type": "e1000", "adapters": 3, "ram": 512, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "telnet", "boot_priority": "dc", diff --git a/gns3server/appliances/watchguard-fireboxv.gns3a b/gns3server/appliances/watchguard-fireboxv.gns3a index ef381e745..929852c0f 100644 --- a/gns3server/appliances/watchguard-fireboxv.gns3a +++ b/gns3server/appliances/watchguard-fireboxv.gns3a @@ -1,7 +1,7 @@ { "name": "WatchGuard", "category": "firewall", - "description": "Organizations of all sizes are turning to virtualization to reduce costs and increase the efficiency, availability, and flexibility of their IT resources. But virtualization comes at a cost. Virtual environments are complex to manage and vulnerable to security threats. IT must be prepared. Now applications can be secured, resources can be maximized and your IT department can reap the rewards of having a single, unified management system – without a security risk in sight. WatchGuard FireboxV brings best-in-class network security to the world of virtualization. With real-time monitoring, multi-WAN support and scalable solutions to fit any-sized business, your virtual environments can be just as secure as your physical one.", + "description": "Organizations of all sizes are turning to virtualization to reduce costs and increase the efficiency, availability, and flexibility of their IT resources. But virtualization comes at a cost. Virtual environments are complex to manage and vulnerable to security threats. IT must be prepared. Now applications can be secured, resources can be maximized and your IT department can reap the rewards of having a single, unified management system - without a security risk in sight. WatchGuard FireboxV brings best-in-class network security to the world of virtualization. With real-time monitoring, multi-WAN support and scalable solutions to fit any-sized business, your virtual environments can be just as secure as your physical one.", "vendor_name": "WatchGuard", "vendor_url": "https://www.watchguard.com/", "documentation_url": "https://www.watchguard.com/wgrd-products/virtual-and-cloud/fireboxv", diff --git a/gns3server/appliances/watchguard-xtmv.gns3a b/gns3server/appliances/watchguard-xtmv.gns3a index 8dc514f2e..e0d6d3ef4 100644 --- a/gns3server/appliances/watchguard-xtmv.gns3a +++ b/gns3server/appliances/watchguard-xtmv.gns3a @@ -1,7 +1,7 @@ { "name": "WatchGuard", "category": "firewall", - "description": "Organizations of all sizes are turning to virtualization to reduce costs and increase the efficiency, availability, and flexibility of their IT resources. But virtualization comes at a cost. Virtual environments are complex to manage and vulnerable to security threats. IT must be prepared. Now applications can be secured, resources can be maximized and your IT department can reap the rewards of having a single, unified management system – without a security risk in sight. WatchGuard XTMv brings best-in-class network security to the world of virtualization. With real-time monitoring, multi-WAN support and scalable solutions to fit any-sized business, your virtual environments can be just as secure as your physical one.", + "description": "Organizations of all sizes are turning to virtualization to reduce costs and increase the efficiency, availability, and flexibility of their IT resources. But virtualization comes at a cost. Virtual environments are complex to manage and vulnerable to security threats. IT must be prepared. Now applications can be secured, resources can be maximized and your IT department can reap the rewards of having a single, unified management system - without a security risk in sight. WatchGuard XTMv brings best-in-class network security to the world of virtualization. With real-time monitoring, multi-WAN support and scalable solutions to fit any-sized business, your virtual environments can be just as secure as your physical one.", "vendor_name": "WatchGuard", "vendor_url": "https://www.watchguard.com/", "documentation_url": "https://www.watchguard.com/wgrd-products/virtual-and-cloud/fireboxv", diff --git a/gns3server/appliances/windows.gns3a b/gns3server/appliances/windows.gns3a index d8c0dc831..fb3f5a0c3 100644 --- a/gns3server/appliances/windows.gns3a +++ b/gns3server/appliances/windows.gns3a @@ -35,7 +35,7 @@ }, { "filename": "MSEdge_-_Win10_preview.vmdk", - "version": "10 w/ Edge", + "version": "10 w/ Edge (Preview)", "md5sum": "e06d97b871581d91b7363bf72a81553d", "filesize": 10907287552, "download_url": "https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/" diff --git a/gns3server/appliances/windows_server.gns3a b/gns3server/appliances/windows_server.gns3a index 8951cc97f..b575b72bd 100644 --- a/gns3server/appliances/windows_server.gns3a +++ b/gns3server/appliances/windows_server.gns3a @@ -48,7 +48,6 @@ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/", "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download" } - ], "versions": [ { diff --git a/gns3server/appliances/zeroshell.gns3a b/gns3server/appliances/zeroshell.gns3a index 3fe12bf86..f62cfa10a 100644 --- a/gns3server/appliances/zeroshell.gns3a +++ b/gns3server/appliances/zeroshell.gns3a @@ -15,6 +15,7 @@ "adapter_type": "e1000", "adapters": 4, "ram": 256, + "hda_disk_interface": "ide", "arch": "x86_64", "console_type": "vnc", "kvm": "allow" From 2bf625e000f0182e392b7c308a5acb30f07c1f6e Mon Sep 17 00:00:00 2001 From: grossmj Date: Fri, 4 Sep 2020 18:02:21 +0930 Subject: [PATCH 02/24] Fix issue when resuming Qemu VM. Fixes https://github.com/GNS3/gns3-gui/issues/3027 --- gns3server/compute/qemu/qemu_vm.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gns3server/compute/qemu/qemu_vm.py b/gns3server/compute/qemu/qemu_vm.py index 191ae4d82..3b8f3d9f0 100644 --- a/gns3server/compute/qemu/qemu_vm.py +++ b/gns3server/compute/qemu/qemu_vm.py @@ -1295,6 +1295,7 @@ class QemuVM(BaseNode): raise QemuError("Resuming a QEMU VM is not supported") elif vm_status == "paused": await self._control_vm("cont") + self.status = "started" log.debug("QEMU VM has been resumed") else: log.info("QEMU VM is not paused to be resumed, current status is {}".format(vm_status)) From 8c00cd0a84d50600870f79b0d18880543a0a9815 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Fri, 4 Sep 2020 12:54:48 +0200 Subject: [PATCH 03/24] Release 2020.3.0-beta.3 --- gns3server/static/web-ui/ReleaseNotes.txt | 16 ++++++++++++++-- gns3server/static/web-ui/index.html | 2 +- ...ec6933a30.js => main.fc6e4d196640e6d4d699.js} | 2 +- 3 files changed, 16 insertions(+), 4 deletions(-) rename gns3server/static/web-ui/{main.2c70c08d7e7ec6933a30.js => main.fc6e4d196640e6d4d699.js} (69%) diff --git a/gns3server/static/web-ui/ReleaseNotes.txt b/gns3server/static/web-ui/ReleaseNotes.txt index 74dee899f..75d82a769 100644 --- a/gns3server/static/web-ui/ReleaseNotes.txt +++ b/gns3server/static/web-ui/ReleaseNotes.txt @@ -1,6 +1,18 @@ GNS3 WebUI is web implementation of user interface for GNS3 software. -Current version: 2020.3.0-beta.1 +Current version: 2020.3.0-beta.3 + +Bug Fixes & enhancements +- direct download URL in template dialog +- fix for issues with suspnded nodes +- fix for bug with deleting templates +- fix for importing images + +What's new +- Option to resize console +- Improvements in creating templates + +GNS3 Web UI 2020.3.0-beta.1 Bug Fixes & enhancements - refreshing list of templates after adding new template from project map  @@ -15,7 +27,7 @@ Bug Fixes & enhancements What's new - Option to import appliances -Current version: 2020.2.0-beta.5 +GNS3 Web UI 2020.2.0-beta.5 Bug Fixes diff --git a/gns3server/static/web-ui/index.html b/gns3server/static/web-ui/index.html index 38a973879..cf3ea1be7 100644 --- a/gns3server/static/web-ui/index.html +++ b/gns3server/static/web-ui/index.html @@ -48,5 +48,5 @@ gtag('config', 'G-5D6FZL9923'); - + diff --git a/gns3server/static/web-ui/main.2c70c08d7e7ec6933a30.js b/gns3server/static/web-ui/main.fc6e4d196640e6d4d699.js similarity index 69% rename from gns3server/static/web-ui/main.2c70c08d7e7ec6933a30.js rename to gns3server/static/web-ui/main.fc6e4d196640e6d4d699.js index 1cf0bfb5c..c4cc8e81c 100644 --- a/gns3server/static/web-ui/main.2c70c08d7e7ec6933a30.js +++ b/gns3server/static/web-ui/main.fc6e4d196640e6d4d699.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"+/L5":function(t,e,n){var i=n("t1UP").isCustomProperty,r=n("vd7W").TYPE,o=n("4njK").mode,a=r.Ident,s=r.Hash,c=r.Colon,l=r.Semicolon,u=r.Delim;function h(t){return this.Raw(t,o.exclamationMarkOrSemicolon,!0)}function d(t){return this.Raw(t,o.exclamationMarkOrSemicolon,!1)}function f(){var t=this.scanner.tokenIndex,e=this.Value();return"Raw"!==e.type&&!1===this.scanner.eof&&this.scanner.tokenType!==l&&!1===this.scanner.isDelim(33)&&!1===this.scanner.isBalanceEdge(t)&&this.error(),e}function p(){var t=this.scanner.tokenStart;if(this.scanner.tokenType===u)switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 42:case 36:case 43:case 35:case 38:this.scanner.next();break;case 47:this.scanner.next(),this.scanner.isDelim(47)&&this.scanner.next()}return this.eat(this.scanner.tokenType===s?s:a),this.scanner.substrToCursor(t)}function m(){this.eat(u),this.scanner.skipSC();var t=this.consume(a);return"important"===t||t}t.exports={name:"Declaration",structure:{important:[Boolean,String],property:String,value:["Value","Raw"]},parse:function(){var t,e=this.scanner.tokenStart,n=this.scanner.tokenIndex,r=p.call(this),o=i(r),a=o?this.parseCustomProperty:this.parseValue,s=o?d:h,u=!1;return this.scanner.skipSC(),this.eat(c),o||this.scanner.skipSC(),t=a?this.parseWithFallback(f,s):s.call(this,this.scanner.tokenIndex),this.scanner.isDelim(33)&&(u=m.call(this),this.scanner.skipSC()),!1===this.scanner.eof&&this.scanner.tokenType!==l&&!1===this.scanner.isBalanceEdge(n)&&this.error(),{type:"Declaration",loc:this.getLocation(e,this.scanner.tokenStart),important:u,property:r,value:t}},generate:function(t){this.chunk(t.property),this.chunk(":"),this.node(t.value),t.important&&this.chunk(!0===t.important?"!important":"!"+t.important)},walkContext:"declaration"}},"+4/i":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp"),r=n("odkN");i.Observable.prototype.let=r.letProto,i.Observable.prototype.letBind=r.letProto},"+Kd2":function(t,e,n){var i=n("vd7W").TYPE,r=n("4njK").mode,o=i.Comma;t.exports=function(){var t=this.createList();return this.scanner.skipSC(),t.push(this.Identifier()),this.scanner.skipSC(),this.scanner.tokenType===o&&(t.push(this.Operator()),t.push(this.parseCustomProperty?this.Value(null):this.Raw(this.scanner.tokenIndex,r.exclamationMarkOrSemicolon,!1))),t}},"+oeQ":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp"),r=n("H+DX");i.Observable.prototype.observeOn=r.observeOn},"+psR":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp"),r=n("16Oq");i.Observable.prototype.retry=r.retry},"+qxJ":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp"),r=n("GsYY");i.Observable.prototype.distinctUntilChanged=r.distinctUntilChanged},"+v8i":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp");i.Observable.concat=i.concat},"/+5V":function(t,e){function n(t){function e(t){return null!==t&&("Type"===t.type||"Property"===t.type||"Keyword"===t.type)}var n=null;return null!==this.matched&&function i(r){if(Array.isArray(r.match)){for(var o=0;o>22},e.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):""},e.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},e.prototype.setFromCharData=function(t){this.fg=t[a.CHAR_DATA_ATTR_INDEX],this.bg=0;var e=!1;if(t[a.CHAR_DATA_CHAR_INDEX].length>2)e=!0;else if(2===t[a.CHAR_DATA_CHAR_INDEX].length){var n=t[a.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=n&&n<=56319){var i=t[a.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(n-55296)+i-56320+65536|t[a.CHAR_DATA_WIDTH_INDEX]<<22:e=!0}else e=!0}else this.content=t[a.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[a.CHAR_DATA_WIDTH_INDEX]<<22;e&&(this.combinedData=t[a.CHAR_DATA_CHAR_INDEX],this.content=2097152|t[a.CHAR_DATA_WIDTH_INDEX]<<22)},e.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},e}(s.AttributeData);e.CellData=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ISoundService=e.ISelectionService=e.IRenderService=e.IMouseService=e.ICoreBrowserService=e.ICharSizeService=void 0;var i=n(14);e.ICharSizeService=i.createDecorator("CharSizeService"),e.ICoreBrowserService=i.createDecorator("CoreBrowserService"),e.IMouseService=i.createDecorator("MouseService"),e.IRenderService=i.createDecorator("RenderService"),e.ISelectionService=i.createDecorator("SelectionService"),e.ISoundService=i.createDecorator("SoundService")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedAttrs=e.AttributeData=void 0;var i=function(){function t(){this.fg=0,this.bg=0,this.extended=new r}return t.toColorRGB=function(t){return[t>>>16&255,t>>>8&255,255&t]},t.fromColorRGB=function(t){return(255&t[0])<<16|(255&t[1])<<8|255&t[2]},t.prototype.clone=function(){var e=new t;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e},t.prototype.isInverse=function(){return 67108864&this.fg},t.prototype.isBold=function(){return 134217728&this.fg},t.prototype.isUnderline=function(){return 268435456&this.fg},t.prototype.isBlink=function(){return 536870912&this.fg},t.prototype.isInvisible=function(){return 1073741824&this.fg},t.prototype.isItalic=function(){return 67108864&this.bg},t.prototype.isDim=function(){return 134217728&this.bg},t.prototype.getFgColorMode=function(){return 50331648&this.fg},t.prototype.getBgColorMode=function(){return 50331648&this.bg},t.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},t.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},t.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},t.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},t.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},t.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},t.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},t.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},t.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},t.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},t.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},t.prototype.getUnderlineColor=function(){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()},t.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},t.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},t.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},t.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},t.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},t}();e.AttributeData=i;var r=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=-1),this.underlineStyle=t,this.underlineColor=e}return t.prototype.clone=function(){return new t(this.underlineStyle,this.underlineColor)},t.prototype.isEmpty=function(){return 0===this.underlineStyle},t}();e.ExtendedAttrs=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.addDisposableDomListener=void 0,e.addDisposableDomListener=function(t,e,n,i){t.addEventListener(e,n,i);var r=!1;return{dispose:function(){r||(r=!0,t.removeEventListener(e,n,i))}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Utf8ToUtf32=e.StringToUtf32=e.utf32ToString=e.stringFromCodePoint=void 0,e.stringFromCodePoint=function(t){return t>65535?(t-=65536,String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)},e.utf32ToString=function(t,e,n){void 0===e&&(e=0),void 0===n&&(n=t.length);for(var i="",r=e;r65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var i=function(){function t(){this._interim=0}return t.prototype.clear=function(){this._interim=0},t.prototype.decode=function(t,e){var n=t.length;if(!n)return 0;var i=0,r=0;this._interim&&(56320<=(s=t.charCodeAt(r++))&&s<=57343?e[i++]=1024*(this._interim-55296)+s-56320+65536:(e[i++]=this._interim,e[i++]=s),this._interim=0);for(var o=r;o=n)return this._interim=a,i;var s;56320<=(s=t.charCodeAt(o))&&s<=57343?e[i++]=1024*(a-55296)+s-56320+65536:(e[i++]=a,e[i++]=s)}else e[i++]=a}return i},t}();e.StringToUtf32=i;var r=function(){function t(){this.interim=new Uint8Array(3)}return t.prototype.clear=function(){this.interim.fill(0)},t.prototype.decode=function(t,e){var n=t.length;if(!n)return 0;var i,r,o,a,s=0,c=0,l=0;if(this.interim[0]){var u=!1,h=this.interim[0];h&=192==(224&h)?31:224==(240&h)?15:7;for(var d=0,f=void 0;(f=63&this.interim[++d])&&d<4;)h<<=6,h|=f;for(var p=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,m=p-d;l=n)return 0;if(128!=(192&(f=t[l++]))){l--,u=!0;break}this.interim[d++]=f,h<<=6,h|=63&f}u||(2===p?h<128?l--:e[s++]=h:3===p?h<2048||h>=55296&&h<=57343||(e[s++]=h):h<65536||h>1114111||(e[s++]=h)),this.interim.fill(0)}for(var g=n-4,v=l;v=n)return this.interim[0]=i,s;if(128!=(192&(r=t[v++]))){v--;continue}if((c=(31&i)<<6|63&r)<128){v--;continue}e[s++]=c}else if(224==(240&i)){if(v>=n)return this.interim[0]=i,s;if(128!=(192&(r=t[v++]))){v--;continue}if(v>=n)return this.interim[0]=i,this.interim[1]=r,s;if(128!=(192&(o=t[v++]))){v--;continue}if((c=(15&i)<<12|(63&r)<<6|63&o)<2048||c>=55296&&c<=57343)continue;e[s++]=c}else if(240==(248&i)){if(v>=n)return this.interim[0]=i,s;if(128!=(192&(r=t[v++]))){v--;continue}if(v>=n)return this.interim[0]=i,this.interim[1]=r,s;if(128!=(192&(o=t[v++]))){v--;continue}if(v>=n)return this.interim[0]=i,this.interim[1]=r,this.interim[2]=o,s;if(128!=(192&(a=t[v++]))){v--;continue}if((c=(7&i)<<18|(63&r)<<12|(63&o)<<6|63&a)<65536||c>1114111)continue;e[s++]=c}}return s},t}();e.Utf8ToUtf32=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CHAR_ATLAS_CELL_SPACING=e.DIM_OPACITY=e.INVERTED_DEFAULT_COLOR=void 0,e.INVERTED_DEFAULT_COLOR=257,e.DIM_OPACITY=.5,e.CHAR_ATLAS_CELL_SPACING=1},function(t,e,n){"use strict";var i,r,o,a;function s(t){var e=t.toString(16);return e.length<2?"0"+e:e}function c(t,e){return t>>0}}(i=e.channels||(e.channels={})),(r=e.color||(e.color={})).blend=function(t,e){var n=(255&e.rgba)/255;if(1===n)return{css:e.css,rgba:e.rgba};var r=e.rgba>>16&255,o=e.rgba>>8&255,a=t.rgba>>24&255,s=t.rgba>>16&255,c=t.rgba>>8&255,l=a+Math.round(((e.rgba>>24&255)-a)*n),u=s+Math.round((r-s)*n),h=c+Math.round((o-c)*n);return{css:i.toCss(l,u,h),rgba:i.toRgba(l,u,h)}},r.isOpaque=function(t){return 255==(255&t.rgba)},r.ensureContrastRatio=function(t,e,n){var i=a.ensureContrastRatio(t.rgba,e.rgba,n);if(i)return a.toColor(i>>24&255,i>>16&255,i>>8&255)},r.opaque=function(t){var e=(255|t.rgba)>>>0,n=a.toChannels(e);return{css:i.toCss(n[0],n[1],n[2]),rgba:e}},r.opacity=function(t,e){var n=Math.round(255*e),r=a.toChannels(t.rgba),o=r[0],s=r[1],c=r[2];return{css:i.toCss(o,s,c,n),rgba:i.toRgba(o,s,c,n)}},(e.css||(e.css={})).toColor=function(t){switch(t.length){case 7:return{css:t,rgba:(parseInt(t.slice(1),16)<<8|255)>>>0};case 9:return{css:t,rgba:parseInt(t.slice(1),16)>>>0}}throw new Error("css.toColor: Unsupported css format")},function(t){function e(t,e,n){var i=t/255,r=e/255,o=n/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.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))}t.relativeLuminance=function(t){return e(t>>16&255,t>>8&255,255&t)},t.relativeLuminance2=e}(o=e.rgb||(e.rgb={})),function(t){function e(t,e,n){for(var i=t>>24&255,r=t>>16&255,a=t>>8&255,s=e>>24&255,l=e>>16&255,u=e>>8&255,h=c(o.relativeLuminance2(s,u,l),o.relativeLuminance2(i,r,a));h0||l>0||u>0);)s-=Math.max(0,Math.ceil(.1*s)),l-=Math.max(0,Math.ceil(.1*l)),u-=Math.max(0,Math.ceil(.1*u)),h=c(o.relativeLuminance2(s,u,l),o.relativeLuminance2(i,r,a));return(s<<24|l<<16|u<<8|255)>>>0}function n(t,e,n){for(var i=t>>24&255,r=t>>16&255,a=t>>8&255,s=e>>24&255,l=e>>16&255,u=e>>8&255,h=c(o.relativeLuminance2(s,u,l),o.relativeLuminance2(i,r,a));h>>0}t.ensureContrastRatio=function(t,i,r){var a=o.relativeLuminance(t>>8),s=o.relativeLuminance(i>>8);if(c(a,s)>24&255,t>>16&255,t>>8&255,255&t]},t.toColor=function(t,e,n){return{css:i.toCss(t,e,n),rgba:i.toRgba(t,e,n)}}}(a=e.rgba||(e.rgba={})),e.toPaddedHex=s,e.contrastRatio=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isLinux=e.isWindows=e.isIphone=e.isIpad=e.isMac=e.isSafari=e.isFirefox=void 0;var i="undefined"==typeof navigator,r=i?"node":navigator.userAgent,o=i?"node":navigator.platform;function a(t,e){return t.indexOf(e)>=0}e.isFirefox=!!~r.indexOf("Firefox"),e.isSafari=/^((?!chrome|android).)*safari/i.test(r),e.isMac=a(["Macintosh","MacIntel","MacPPC","Mac68K"],o),e.isIpad="iPad"===o,e.isIphone="iPhone"===o,e.isWindows=a(["Windows","Win16","Win32","WinCE"],o),e.isLinux=o.indexOf("Linux")>=0},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.C1=e.C0=void 0,function(t){t.NUL="\0",t.SOH="\x01",t.STX="\x02",t.ETX="\x03",t.EOT="\x04",t.ENQ="\x05",t.ACK="\x06",t.BEL="\x07",t.BS="\b",t.HT="\t",t.LF="\n",t.VT="\v",t.FF="\f",t.CR="\r",t.SO="\x0e",t.SI="\x0f",t.DLE="\x10",t.DC1="\x11",t.DC2="\x12",t.DC3="\x13",t.DC4="\x14",t.NAK="\x15",t.SYN="\x16",t.ETB="\x17",t.CAN="\x18",t.EM="\x19",t.SUB="\x1a",t.ESC="\x1b",t.FS="\x1c",t.GS="\x1d",t.RS="\x1e",t.US="\x1f",t.SP=" ",t.DEL="\x7f"}(e.C0||(e.C0={})),function(t){t.PAD="\x80",t.HOP="\x81",t.BPH="\x82",t.NBH="\x83",t.IND="\x84",t.NEL="\x85",t.SSA="\x86",t.ESA="\x87",t.HTS="\x88",t.HTJ="\x89",t.VTS="\x8a",t.PLD="\x8b",t.PLU="\x8c",t.RI="\x8d",t.SS2="\x8e",t.SS3="\x8f",t.DCS="\x90",t.PU1="\x91",t.PU2="\x92",t.STS="\x93",t.CCH="\x94",t.MW="\x95",t.SPA="\x96",t.EPA="\x97",t.SOS="\x98",t.SGCI="\x99",t.SCI="\x9a",t.CSI="\x9b",t.ST="\x9c",t.OSC="\x9d",t.PM="\x9e",t.APC="\x9f"}(e.C1||(e.C1={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseRenderLayer=void 0;var i=n(3),r=n(9),o=n(25),a=n(6),s=n(28),c=n(10),l=n(17),u=function(){function t(t,e,n,i,r,o,a,s){this._container=t,this._alpha=i,this._colors=r,this._rendererId=o,this._bufferService=a,this._optionsService=s,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:"",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-"+e+"-layer"),this._canvas.style.zIndex=n.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return t.prototype.dispose=function(){var t;l.removeElementFromParent(this._canvas),null===(t=this._charAtlas)||void 0===t||t.dispose()},t.prototype._initCanvas=function(){this._ctx=s.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},t.prototype.onOptionsChanged=function(){},t.prototype.onBlur=function(){},t.prototype.onFocus=function(){},t.prototype.onCursorMove=function(){},t.prototype.onGridChanged=function(t,e){},t.prototype.onSelectionChanged=function(t,e,n){void 0===n&&(n=!1)},t.prototype.setColors=function(t){this._refreshCharAtlas(t)},t.prototype._setTransparency=function(t){if(t!==this._alpha){var e=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,e),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},t.prototype._refreshCharAtlas=function(t){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,t,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},t.prototype.resize=function(t){this._scaledCellWidth=t.scaledCellWidth,this._scaledCellHeight=t.scaledCellHeight,this._scaledCharWidth=t.scaledCharWidth,this._scaledCharHeight=t.scaledCharHeight,this._scaledCharLeft=t.scaledCharLeft,this._scaledCharTop=t.scaledCharTop,this._canvas.width=t.scaledCanvasWidth,this._canvas.height=t.scaledCanvasHeight,this._canvas.style.width=t.canvasWidth+"px",this._canvas.style.height=t.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},t.prototype._fillCells=function(t,e,n,i){this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,n*this._scaledCellWidth,i*this._scaledCellHeight)},t.prototype._fillBottomLineAtCells=function(t,e,n){void 0===n&&(n=1),this._ctx.fillRect(t*this._scaledCellWidth,(e+1)*this._scaledCellHeight-window.devicePixelRatio-1,n*this._scaledCellWidth,window.devicePixelRatio)},t.prototype._fillLeftLineAtCell=function(t,e,n){this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,window.devicePixelRatio*n,this._scaledCellHeight)},t.prototype._strokeRectAtCell=function(t,e,n,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(t*this._scaledCellWidth+window.devicePixelRatio/2,e*this._scaledCellHeight+window.devicePixelRatio/2,n*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},t.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},t.prototype._clearCells=function(t,e,n,i){this._alpha?this._ctx.clearRect(t*this._scaledCellWidth,e*this._scaledCellHeight,n*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,n*this._scaledCellWidth,i*this._scaledCellHeight))},t.prototype._fillCharTrueColor=function(t,e,n){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline="middle",this._clipRow(n),this._ctx.fillText(t.getChars(),e*this._scaledCellWidth+this._scaledCharLeft,n*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},t.prototype._drawChars=function(t,e,n){var o,a,s=this._getContrastColor(t);s||t.isFgRGB()||t.isBgRGB()?this._drawUncachedChars(t,e,n,s):(t.isInverse()?(o=t.isBgDefault()?r.INVERTED_DEFAULT_COLOR:t.getBgColor(),a=t.isFgDefault()?r.INVERTED_DEFAULT_COLOR:t.getFgColor()):(a=t.isBgDefault()?i.DEFAULT_COLOR:t.getBgColor(),o=t.isFgDefault()?i.DEFAULT_COLOR:t.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&t.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=t.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=t.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=a,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!t.isBold(),this._currentGlyphIdentifier.dim=!!t.isDim(),this._currentGlyphIdentifier.italic=!!t.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,e*this._scaledCellWidth+this._scaledCharLeft,n*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(t,e,n))},t.prototype._drawUncachedChars=function(t,e,n,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!t.isBold(),!!t.isItalic()),this._ctx.textBaseline="middle",t.isInverse())if(i)this._ctx.fillStyle=i.css;else if(t.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(t.isBgRGB())this._ctx.fillStyle="rgb("+a.AttributeData.toColorRGB(t.getBgColor()).join(",")+")";else{var o=t.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&t.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(t.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(t.isFgRGB())this._ctx.fillStyle="rgb("+a.AttributeData.toColorRGB(t.getFgColor()).join(",")+")";else{var s=t.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&t.isBold()&&s<8&&(s+=8),this._ctx.fillStyle=this._colors.ansi[s].css}this._clipRow(n),t.isDim()&&(this._ctx.globalAlpha=r.DIM_OPACITY),this._ctx.fillText(t.getChars(),e*this._scaledCellWidth+this._scaledCharLeft,n*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2),this._ctx.restore()},t.prototype._clipRow=function(t){this._ctx.beginPath(),this._ctx.rect(0,t*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},t.prototype._getFont=function(t,e){return(e?"italic":"")+" "+(t?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+" "+this._optionsService.options.fontSize*window.devicePixelRatio+"px "+this._optionsService.options.fontFamily},t.prototype._getContrastColor=function(t){if(1!==this._optionsService.options.minimumContrastRatio){var e=this._colors.contrastCache.getColor(t.bg,t.fg);if(void 0!==e)return e||void 0;var n=t.getFgColor(),i=t.getFgColorMode(),r=t.getBgColor(),o=t.getBgColorMode(),a=!!t.isInverse(),s=!!t.isInverse();if(a){var l=n;n=r,r=l;var u=i;i=o,o=u}var h=this._resolveBackgroundRgba(o,r,a),d=this._resolveForegroundRgba(i,n,a,s),f=c.rgba.ensureContrastRatio(h,d,this._optionsService.options.minimumContrastRatio);if(f){var p={css:c.channels.toCss(f>>24&255,f>>16&255,f>>8&255),rgba:f};return this._colors.contrastCache.setColor(t.bg,t.fg,p),p}this._colors.contrastCache.setColor(t.bg,t.fg,null)}},t.prototype._resolveBackgroundRgba=function(t,e,n){switch(t){case 16777216:case 33554432:return this._colors.ansi[e].rgba;case 50331648:return e<<8;case 0:default:return n?this._colors.foreground.rgba:this._colors.background.rgba}},t.prototype._resolveForegroundRgba=function(t,e,n,i){switch(t){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&e<8&&(e+=8),this._colors.ansi[e].rgba;case 50331648:return e<<8;case 0:default:return n?this._colors.background.rgba:this._colors.foreground.rgba}},t}();e.BaseRenderLayer=u},function(t,e,n){"use strict";function i(t,e,n){e.di$target===e?e.di$dependencies.push({id:t,index:n}):(e.di$dependencies=[{id:t,index:n}],e.di$target=e)}Object.defineProperty(e,"__esModule",{value:!0}),e.createDecorator=e.getServiceDependencies=e.serviceRegistry=void 0,e.serviceRegistry=new Map,e.getServiceDependencies=function(t){return t.di$dependencies||[]},e.createDecorator=function(t){if(e.serviceRegistry.has(t))return e.serviceRegistry.get(t);var n=function t(e,n,r){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");i(t,e,r)};return n.toString=function(){return t},e.serviceRegistry.set(t,n),n}},function(t,e,n){"use strict";function i(t,e,n,i){if(void 0===n&&(n=0),void 0===i&&(i=t.length),n>=t.length)return t;i=i>=t.length?t.length:(t.length+i)%t.length;for(var r=n=(t.length+n)%t.length;r>22,2097152&e?this._combined[t].charCodeAt(this._combined[t].length-1):n]},t.prototype.set=function(t,e){this._data[3*t+1]=e[r.CHAR_DATA_ATTR_INDEX],e[r.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[t]=e[1],this._data[3*t+0]=2097152|t|e[r.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*t+0]=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22},t.prototype.getWidth=function(t){return this._data[3*t+0]>>22},t.prototype.hasWidth=function(t){return 12582912&this._data[3*t+0]},t.prototype.getFg=function(t){return this._data[3*t+1]},t.prototype.getBg=function(t){return this._data[3*t+2]},t.prototype.hasContent=function(t){return 4194303&this._data[3*t+0]},t.prototype.getCodePoint=function(t){var e=this._data[3*t+0];return 2097152&e?this._combined[t].charCodeAt(this._combined[t].length-1):2097151&e},t.prototype.isCombined=function(t){return 2097152&this._data[3*t+0]},t.prototype.getString=function(t){var e=this._data[3*t+0];return 2097152&e?this._combined[t]:2097151&e?i.stringFromCodePoint(2097151&e):""},t.prototype.loadCell=function(t,e){var n=3*t;return e.content=this._data[n+0],e.fg=this._data[n+1],e.bg=this._data[n+2],2097152&e.content&&(e.combinedData=this._combined[t]),268435456&e.bg&&(e.extended=this._extendedAttrs[t]),e},t.prototype.setCell=function(t,e){2097152&e.content&&(this._combined[t]=e.combinedData),268435456&e.bg&&(this._extendedAttrs[t]=e.extended),this._data[3*t+0]=e.content,this._data[3*t+1]=e.fg,this._data[3*t+2]=e.bg},t.prototype.setCellFromCodePoint=function(t,e,n,i,r,o){268435456&r&&(this._extendedAttrs[t]=o),this._data[3*t+0]=e|n<<22,this._data[3*t+1]=i,this._data[3*t+2]=r},t.prototype.addCodepointToCell=function(t,e){var n=this._data[3*t+0];2097152&n?this._combined[t]+=i.stringFromCodePoint(e):(2097151&n?(this._combined[t]=i.stringFromCodePoint(2097151&n)+i.stringFromCodePoint(e),n&=-2097152,n|=2097152):n=e|1<<22,this._data[3*t+0]=n)},t.prototype.insertCells=function(t,e,n,i){if((t%=this.length)&&2===this.getWidth(t-1)&&this.setCellFromCodePoint(t-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new a.ExtendedAttrs),e=0;--s)this.setCell(t+e+s,this.loadCell(t+s,r));for(s=0;sthis.length){var n=new Uint32Array(3*t);this.length&&n.set(3*t=t&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=t}},t.prototype.fill=function(t){this._combined={},this._extendedAttrs={};for(var e=0;e=0;--t)if(4194303&this._data[3*t+0])return t+(this._data[3*t+0]>>22);return 0},t.prototype.copyCellsFrom=function(t,e,n,i,r){var o=t._data;if(r)for(var a=i-1;a>=0;a--)for(var s=0;s<3;s++)this._data[3*(n+a)+s]=o[3*(e+a)+s];else for(a=0;a=e&&(this._combined[l-e+n]=t._combined[l])}},t.prototype.translateToString=function(t,e,n){void 0===t&&(t=!1),void 0===e&&(e=0),void 0===n&&(n=this.length),t&&(n=Math.min(n,this.getTrimmedLength()));for(var o="";e>22||1}return o},t}();e.BufferLine=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeElementFromParent=void 0,e.removeElementFromParent=function(){for(var t,e=[],n=0;n24)return e.setWinLines||!1;switch(t){case 1:return!!e.restoreWin;case 2:return!!e.minimizeWin;case 3:return!!e.setWinPosition;case 4:return!!e.setWinSizePixels;case 5:return!!e.raiseWin;case 6:return!!e.lowerWin;case 7:return!!e.refreshWin;case 8:return!!e.setWinSizeChars;case 9:return!!e.maximizeWin;case 10:return!!e.fullscreenWin;case 11:return!!e.getWinState;case 13:return!!e.getWinPosition;case 14:return!!e.getWinSizePixels;case 15:return!!e.getScreenSizePixels;case 16:return!!e.getCellSizePixels;case 18:return!!e.getWinSizeChars;case 19:return!!e.getScreenSizeChars;case 20:return!!e.getIconTitle;case 21:return!!e.getWinTitle;case 22:return!!e.pushTitle;case 23:return!!e.popTitle;case 24:return!!e.setWinLines}return!1}!function(t){t[t.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",t[t.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(o=e.WindowsOptionsReportType||(e.WindowsOptionsReportType={}));var w=function(){function t(t,e,n,i){this._bufferService=t,this._coreService=e,this._logService=n,this._optionsService=i,this._data=new Uint32Array(0)}return t.prototype.hook=function(t){this._data=new Uint32Array(0)},t.prototype.put=function(t,e,n){this._data=u.concat(this._data,t.subarray(e,n))},t.prototype.unhook=function(t){if(t){var e=h.utf32ToString(this._data);switch(this._data=new Uint32Array(0),e){case'"q':return this._coreService.triggerDataEvent(a.C0.ESC+'P1$r0"q'+a.C0.ESC+"\\");case'"p':return this._coreService.triggerDataEvent(a.C0.ESC+'P1$r61;1"p'+a.C0.ESC+"\\");case"r":return this._coreService.triggerDataEvent(a.C0.ESC+"P1$r"+(this._bufferService.buffer.scrollTop+1)+";"+(this._bufferService.buffer.scrollBottom+1)+"r"+a.C0.ESC+"\\");case"m":return this._coreService.triggerDataEvent(a.C0.ESC+"P1$r0m"+a.C0.ESC+"\\");case" q":var n={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];return this._coreService.triggerDataEvent(a.C0.ESC+"P1$r"+(n-=this._optionsService.options.cursorBlink?1:0)+" q"+a.C0.ESC+"\\");default:this._logService.debug("Unknown DCS $q %s",e),this._coreService.triggerDataEvent(a.C0.ESC+"P0$r"+a.C0.ESC+"\\")}}else this._data=new Uint32Array(0)},t}(),k=function(t){function e(e,n,i,r,o,l,u,p,g){void 0===g&&(g=new c.EscapeSequenceParser);var b=t.call(this)||this;b._bufferService=e,b._charsetService=n,b._coreService=i,b._dirtyRowService=r,b._logService=o,b._optionsService=l,b._coreMouseService=u,b._unicodeService=p,b._parser=g,b._parseBuffer=new Uint32Array(4096),b._stringDecoder=new h.StringToUtf32,b._utf8Decoder=new h.Utf8ToUtf32,b._workCell=new m.CellData,b._windowTitle="",b._iconName="",b._windowTitleStack=[],b._iconNameStack=[],b._curAttrData=d.DEFAULT_ATTR_DATA.clone(),b._eraseAttrDataInternal=d.DEFAULT_ATTR_DATA.clone(),b._onRequestBell=new f.EventEmitter,b._onRequestRefreshRows=new f.EventEmitter,b._onRequestReset=new f.EventEmitter,b._onRequestScroll=new f.EventEmitter,b._onRequestSyncScrollBar=new f.EventEmitter,b._onRequestWindowsOptionsReport=new f.EventEmitter,b._onA11yChar=new f.EventEmitter,b._onA11yTab=new f.EventEmitter,b._onCursorMove=new f.EventEmitter,b._onLineFeed=new f.EventEmitter,b._onScroll=new f.EventEmitter,b._onTitleChange=new f.EventEmitter,b.register(b._parser),b._parser.setCsiHandlerFallback((function(t,e){b._logService.debug("Unknown CSI code: ",{identifier:b._parser.identToString(t),params:e.toArray()})})),b._parser.setEscHandlerFallback((function(t){b._logService.debug("Unknown ESC code: ",{identifier:b._parser.identToString(t)})})),b._parser.setExecuteHandlerFallback((function(t){b._logService.debug("Unknown EXECUTE code: ",{code:t})})),b._parser.setOscHandlerFallback((function(t,e,n){b._logService.debug("Unknown OSC code: ",{identifier:t,action:e,data:n})})),b._parser.setDcsHandlerFallback((function(t,e,n){"HOOK"===e&&(n=n.toArray()),b._logService.debug("Unknown DCS code: ",{identifier:b._parser.identToString(t),action:e,payload:n})})),b._parser.setPrintHandler((function(t,e,n){return b.print(t,e,n)})),b._parser.setCsiHandler({final:"@"},(function(t){return b.insertChars(t)})),b._parser.setCsiHandler({intermediates:" ",final:"@"},(function(t){return b.scrollLeft(t)})),b._parser.setCsiHandler({final:"A"},(function(t){return b.cursorUp(t)})),b._parser.setCsiHandler({intermediates:" ",final:"A"},(function(t){return b.scrollRight(t)})),b._parser.setCsiHandler({final:"B"},(function(t){return b.cursorDown(t)})),b._parser.setCsiHandler({final:"C"},(function(t){return b.cursorForward(t)})),b._parser.setCsiHandler({final:"D"},(function(t){return b.cursorBackward(t)})),b._parser.setCsiHandler({final:"E"},(function(t){return b.cursorNextLine(t)})),b._parser.setCsiHandler({final:"F"},(function(t){return b.cursorPrecedingLine(t)})),b._parser.setCsiHandler({final:"G"},(function(t){return b.cursorCharAbsolute(t)})),b._parser.setCsiHandler({final:"H"},(function(t){return b.cursorPosition(t)})),b._parser.setCsiHandler({final:"I"},(function(t){return b.cursorForwardTab(t)})),b._parser.setCsiHandler({final:"J"},(function(t){return b.eraseInDisplay(t)})),b._parser.setCsiHandler({prefix:"?",final:"J"},(function(t){return b.eraseInDisplay(t)})),b._parser.setCsiHandler({final:"K"},(function(t){return b.eraseInLine(t)})),b._parser.setCsiHandler({prefix:"?",final:"K"},(function(t){return b.eraseInLine(t)})),b._parser.setCsiHandler({final:"L"},(function(t){return b.insertLines(t)})),b._parser.setCsiHandler({final:"M"},(function(t){return b.deleteLines(t)})),b._parser.setCsiHandler({final:"P"},(function(t){return b.deleteChars(t)})),b._parser.setCsiHandler({final:"S"},(function(t){return b.scrollUp(t)})),b._parser.setCsiHandler({final:"T"},(function(t){return b.scrollDown(t)})),b._parser.setCsiHandler({final:"X"},(function(t){return b.eraseChars(t)})),b._parser.setCsiHandler({final:"Z"},(function(t){return b.cursorBackwardTab(t)})),b._parser.setCsiHandler({final:"`"},(function(t){return b.charPosAbsolute(t)})),b._parser.setCsiHandler({final:"a"},(function(t){return b.hPositionRelative(t)})),b._parser.setCsiHandler({final:"b"},(function(t){return b.repeatPrecedingCharacter(t)})),b._parser.setCsiHandler({final:"c"},(function(t){return b.sendDeviceAttributesPrimary(t)})),b._parser.setCsiHandler({prefix:">",final:"c"},(function(t){return b.sendDeviceAttributesSecondary(t)})),b._parser.setCsiHandler({final:"d"},(function(t){return b.linePosAbsolute(t)})),b._parser.setCsiHandler({final:"e"},(function(t){return b.vPositionRelative(t)})),b._parser.setCsiHandler({final:"f"},(function(t){return b.hVPosition(t)})),b._parser.setCsiHandler({final:"g"},(function(t){return b.tabClear(t)})),b._parser.setCsiHandler({final:"h"},(function(t){return b.setMode(t)})),b._parser.setCsiHandler({prefix:"?",final:"h"},(function(t){return b.setModePrivate(t)})),b._parser.setCsiHandler({final:"l"},(function(t){return b.resetMode(t)})),b._parser.setCsiHandler({prefix:"?",final:"l"},(function(t){return b.resetModePrivate(t)})),b._parser.setCsiHandler({final:"m"},(function(t){return b.charAttributes(t)})),b._parser.setCsiHandler({final:"n"},(function(t){return b.deviceStatus(t)})),b._parser.setCsiHandler({prefix:"?",final:"n"},(function(t){return b.deviceStatusPrivate(t)})),b._parser.setCsiHandler({intermediates:"!",final:"p"},(function(t){return b.softReset(t)})),b._parser.setCsiHandler({intermediates:" ",final:"q"},(function(t){return b.setCursorStyle(t)})),b._parser.setCsiHandler({final:"r"},(function(t){return b.setScrollRegion(t)})),b._parser.setCsiHandler({final:"s"},(function(t){return b.saveCursor(t)})),b._parser.setCsiHandler({final:"t"},(function(t){return b.windowOptions(t)})),b._parser.setCsiHandler({final:"u"},(function(t){return b.restoreCursor(t)})),b._parser.setCsiHandler({intermediates:"'",final:"}"},(function(t){return b.insertColumns(t)})),b._parser.setCsiHandler({intermediates:"'",final:"~"},(function(t){return b.deleteColumns(t)})),b._parser.setExecuteHandler(a.C0.BEL,(function(){return b.bell()})),b._parser.setExecuteHandler(a.C0.LF,(function(){return b.lineFeed()})),b._parser.setExecuteHandler(a.C0.VT,(function(){return b.lineFeed()})),b._parser.setExecuteHandler(a.C0.FF,(function(){return b.lineFeed()})),b._parser.setExecuteHandler(a.C0.CR,(function(){return b.carriageReturn()})),b._parser.setExecuteHandler(a.C0.BS,(function(){return b.backspace()})),b._parser.setExecuteHandler(a.C0.HT,(function(){return b.tab()})),b._parser.setExecuteHandler(a.C0.SO,(function(){return b.shiftOut()})),b._parser.setExecuteHandler(a.C0.SI,(function(){return b.shiftIn()})),b._parser.setExecuteHandler(a.C1.IND,(function(){return b.index()})),b._parser.setExecuteHandler(a.C1.NEL,(function(){return b.nextLine()})),b._parser.setExecuteHandler(a.C1.HTS,(function(){return b.tabSet()})),b._parser.setOscHandler(0,new v.OscHandler((function(t){b.setTitle(t),b.setIconName(t)}))),b._parser.setOscHandler(1,new v.OscHandler((function(t){return b.setIconName(t)}))),b._parser.setOscHandler(2,new v.OscHandler((function(t){return b.setTitle(t)}))),b._parser.setEscHandler({final:"7"},(function(){return b.saveCursor()})),b._parser.setEscHandler({final:"8"},(function(){return b.restoreCursor()})),b._parser.setEscHandler({final:"D"},(function(){return b.index()})),b._parser.setEscHandler({final:"E"},(function(){return b.nextLine()})),b._parser.setEscHandler({final:"H"},(function(){return b.tabSet()})),b._parser.setEscHandler({final:"M"},(function(){return b.reverseIndex()})),b._parser.setEscHandler({final:"="},(function(){return b.keypadApplicationMode()})),b._parser.setEscHandler({final:">"},(function(){return b.keypadNumericMode()})),b._parser.setEscHandler({final:"c"},(function(){return b.fullReset()})),b._parser.setEscHandler({final:"n"},(function(){return b.setgLevel(2)})),b._parser.setEscHandler({final:"o"},(function(){return b.setgLevel(3)})),b._parser.setEscHandler({final:"|"},(function(){return b.setgLevel(3)})),b._parser.setEscHandler({final:"}"},(function(){return b.setgLevel(2)})),b._parser.setEscHandler({final:"~"},(function(){return b.setgLevel(1)})),b._parser.setEscHandler({intermediates:"%",final:"@"},(function(){return b.selectDefaultCharset()})),b._parser.setEscHandler({intermediates:"%",final:"G"},(function(){return b.selectDefaultCharset()}));var y=function(t){_._parser.setEscHandler({intermediates:"(",final:t},(function(){return b.selectCharset("("+t)})),_._parser.setEscHandler({intermediates:")",final:t},(function(){return b.selectCharset(")"+t)})),_._parser.setEscHandler({intermediates:"*",final:t},(function(){return b.selectCharset("*"+t)})),_._parser.setEscHandler({intermediates:"+",final:t},(function(){return b.selectCharset("+"+t)})),_._parser.setEscHandler({intermediates:"-",final:t},(function(){return b.selectCharset("-"+t)})),_._parser.setEscHandler({intermediates:".",final:t},(function(){return b.selectCharset("."+t)})),_._parser.setEscHandler({intermediates:"/",final:t},(function(){return b.selectCharset("/"+t)}))},_=this;for(var k in s.CHARSETS)y(k);return b._parser.setEscHandler({intermediates:"#",final:"8"},(function(){return b.screenAlignmentPattern()})),b._parser.setErrorHandler((function(t){return b._logService.error("Parsing error: ",t),t})),b._parser.setDcsHandler({intermediates:"$",final:"q"},new w(b._bufferService,b._coreService,b._logService,b._optionsService)),b}return r(e,t),Object.defineProperty(e.prototype,"onRequestBell",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRequestRefreshRows",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRequestReset",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRequestScroll",{get:function(){return this._onRequestScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRequestSyncScrollBar",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRequestWindowsOptionsReport",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onA11yChar",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onA11yTab",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){t.prototype.dispose.call(this)},e.prototype.parse=function(t){var e=this._bufferService.buffer,n=e.x,i=e.y;if(this._logService.debug("parsing data",t),this._parseBuffer.length131072)for(var r=0;r0&&2===f.getWidth(o.x-1)&&f.setCellFromCodePoint(o.x-1,0,1,d.fg,d.bg,d.extended);for(var m=e;m=c)if(l){for(;o.x=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),f=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===r)continue;if(u&&(f.insertCells(o.x,r,o.getNullCell(d),d),2===f.getWidth(c-1)&&f.setCellFromCodePoint(c-1,p.NULL_CELL_CODE,p.NULL_CELL_WIDTH,d.fg,d.bg,d.extended)),f.setCellFromCodePoint(o.x++,i,r,d.fg,d.bg,d.extended),r>0)for(;--r;)f.setCellFromCodePoint(o.x++,0,0,d.fg,d.bg,d.extended)}else f.getWidth(o.x-1)?f.addCodepointToCell(o.x-1,i):f.addCodepointToCell(o.x-2,i)}n-e>0&&(f.loadCell(o.x-1,this._workCell),this._parser.precedingCodepoint=2===this._workCell.getWidth()||this._workCell.getCode()>65535?0:this._workCell.isCombined()?this._workCell.getChars().charCodeAt(0):this._workCell.content),o.x0&&0===f.getWidth(o.x)&&!f.hasContent(o.x)&&f.setCellFromCodePoint(o.x,0,1,d.fg,d.bg,d.extended),this._dirtyRowService.markDirty(o.y)},e.prototype.addCsiHandler=function(t,e){var n=this;return this._parser.addCsiHandler(t,"t"!==t.final||t.prefix||t.intermediates?e:function(t){return!_(t.params[0],n._optionsService.options.windowOptions)||e(t)})},e.prototype.addDcsHandler=function(t,e){return this._parser.addDcsHandler(t,new b.DcsHandler(e))},e.prototype.addEscHandler=function(t,e){return this._parser.addEscHandler(t,e)},e.prototype.addOscHandler=function(t,e){return this._parser.addOscHandler(t,new v.OscHandler(e))},e.prototype.bell=function(){this._onRequestBell.fire()},e.prototype.lineFeed=function(){var t=this._bufferService.buffer;this._dirtyRowService.markDirty(t.y),this._optionsService.options.convertEol&&(t.x=0),t.y++,t.y===t.scrollBottom+1?(t.y--,this._onRequestScroll.fire(this._eraseAttrData())):t.y>=this._bufferService.rows&&(t.y=this._bufferService.rows-1),t.x>=this._bufferService.cols&&t.x--,this._dirtyRowService.markDirty(t.y),this._onLineFeed.fire()},e.prototype.carriageReturn=function(){this._bufferService.buffer.x=0},e.prototype.backspace=function(){var t,e=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),void(e.x>0&&e.x--);if(this._restrictCursor(this._bufferService.cols),e.x>0)e.x--;else if(0===e.x&&e.y>e.scrollTop&&e.y<=e.scrollBottom&&(null===(t=e.lines.get(e.ybase+e.y))||void 0===t?void 0:t.isWrapped)){e.lines.get(e.ybase+e.y).isWrapped=!1,e.y--,e.x=this._bufferService.cols-1;var n=e.lines.get(e.ybase+e.y);n.hasWidth(e.x)&&!n.hasContent(e.x)&&e.x--}this._restrictCursor()},e.prototype.tab=function(){if(!(this._bufferService.buffer.x>=this._bufferService.cols)){var t=this._bufferService.buffer.x;this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-t)}},e.prototype.shiftOut=function(){this._charsetService.setgLevel(1)},e.prototype.shiftIn=function(){this._charsetService.setgLevel(0)},e.prototype._restrictCursor=function(t){void 0===t&&(t=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(t,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},e.prototype._setCursor=function(t,e){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=t,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+e):(this._bufferService.buffer.x=t,this._bufferService.buffer.y=e),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},e.prototype._moveCursor=function(t,e){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+t,this._bufferService.buffer.y+e)},e.prototype.cursorUp=function(t){var e=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;this._moveCursor(0,e>=0?-Math.min(e,t.params[0]||1):-(t.params[0]||1))},e.prototype.cursorDown=function(t){var e=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;this._moveCursor(0,e>=0?Math.min(e,t.params[0]||1):t.params[0]||1)},e.prototype.cursorForward=function(t){this._moveCursor(t.params[0]||1,0)},e.prototype.cursorBackward=function(t){this._moveCursor(-(t.params[0]||1),0)},e.prototype.cursorNextLine=function(t){this.cursorDown(t),this._bufferService.buffer.x=0},e.prototype.cursorPrecedingLine=function(t){this.cursorUp(t),this._bufferService.buffer.x=0},e.prototype.cursorCharAbsolute=function(t){this._setCursor((t.params[0]||1)-1,this._bufferService.buffer.y)},e.prototype.cursorPosition=function(t){this._setCursor(t.length>=2?(t.params[1]||1)-1:0,(t.params[0]||1)-1)},e.prototype.charPosAbsolute=function(t){this._setCursor((t.params[0]||1)-1,this._bufferService.buffer.y)},e.prototype.hPositionRelative=function(t){this._moveCursor(t.params[0]||1,0)},e.prototype.linePosAbsolute=function(t){this._setCursor(this._bufferService.buffer.x,(t.params[0]||1)-1)},e.prototype.vPositionRelative=function(t){this._moveCursor(0,t.params[0]||1)},e.prototype.hVPosition=function(t){this.cursorPosition(t)},e.prototype.tabClear=function(t){var e=t.params[0];0===e?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===e&&(this._bufferService.buffer.tabs={})},e.prototype.cursorForwardTab=function(t){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var e=t.params[0]||1;e--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop()},e.prototype.cursorBackwardTab=function(t){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var e=t.params[0]||1,n=this._bufferService.buffer;e--;)n.x=n.prevStop()},e.prototype._eraseInBufferLine=function(t,e,n,i){void 0===i&&(i=!1);var r=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+t);r.replaceCells(e,n,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(r.isWrapped=!1)},e.prototype._resetBufferLine=function(t){var e=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+t);e.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),e.isWrapped=!1},e.prototype.eraseInDisplay=function(t){var e;switch(this._restrictCursor(),t.params[0]){case 0:for(this._dirtyRowService.markDirty(e=this._bufferService.buffer.y),this._eraseInBufferLine(e++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);e=this._bufferService.cols&&(this._bufferService.buffer.lines.get(e+1).isWrapped=!1);e--;)this._resetBufferLine(e);this._dirtyRowService.markDirty(0);break;case 2:for(this._dirtyRowService.markDirty((e=this._bufferService.rows)-1);e--;)this._resetBufferLine(e);this._dirtyRowService.markDirty(0);break;case 3:var n=this._bufferService.buffer.lines.length-this._bufferService.rows;n>0&&(this._bufferService.buffer.lines.trimStart(n),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-n,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-n,0),this._onScroll.fire(0))}},e.prototype.eraseInLine=function(t){switch(this._restrictCursor(),t.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}this._dirtyRowService.markDirty(this._bufferService.buffer.y)},e.prototype.insertLines=function(t){this._restrictCursor();var e=t.params[0]||1,n=this._bufferService.buffer;if(!(n.y>n.scrollBottom||n.yn.scrollBottom||n.ye.scrollBottom||e.ye.scrollBottom||e.ye.scrollBottom||e.ye.scrollBottom||e.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(a.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(a.C0.ESC+"[?6c"))},e.prototype.sendDeviceAttributesSecondary=function(t){t.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(a.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(a.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(t.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(a.C0.ESC+"[>83;40003;0c"))},e.prototype._is=function(t){return 0===(this._optionsService.options.termName+"").indexOf(t)},e.prototype.setMode=function(t){for(var e=0;e=2||2===i[1]&&o+r>=5)break;i[1]&&(r=1)}while(++o+e5)&&(t=1),e.extended.underlineStyle=t,e.fg|=268435456,0===t&&(e.fg&=-268435457),e.updateExtended()},e.prototype.charAttributes=function(t){if(1===t.length&&0===t.params[0])return this._curAttrData.fg=d.DEFAULT_ATTR_DATA.fg,void(this._curAttrData.bg=d.DEFAULT_ATTR_DATA.bg);for(var e,n=t.length,i=this._curAttrData,r=0;r=30&&e<=37?(i.fg&=-50331904,i.fg|=16777216|e-30):e>=40&&e<=47?(i.bg&=-50331904,i.bg|=16777216|e-40):e>=90&&e<=97?(i.fg&=-50331904,i.fg|=16777224|e-90):e>=100&&e<=107?(i.bg&=-50331904,i.bg|=16777224|e-100):0===e?(i.fg=d.DEFAULT_ATTR_DATA.fg,i.bg=d.DEFAULT_ATTR_DATA.bg):1===e?i.fg|=134217728:3===e?i.bg|=67108864:4===e?(i.fg|=268435456,this._processUnderline(t.hasSubParams(r)?t.getSubParams(r)[0]:1,i)):5===e?i.fg|=536870912:7===e?i.fg|=67108864:8===e?i.fg|=1073741824:2===e?i.bg|=134217728:21===e?this._processUnderline(2,i):22===e?(i.fg&=-134217729,i.bg&=-134217729):23===e?i.bg&=-67108865:24===e?i.fg&=-268435457:25===e?i.fg&=-536870913:27===e?i.fg&=-67108865:28===e?i.fg&=-1073741825:39===e?(i.fg&=-67108864,i.fg|=16777215&d.DEFAULT_ATTR_DATA.fg):49===e?(i.bg&=-67108864,i.bg|=16777215&d.DEFAULT_ATTR_DATA.bg):38===e||48===e||58===e?r+=this._extractColor(t,r,i):59===e?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===e?(i.fg&=-67108864,i.fg|=16777215&d.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&d.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",e)},e.prototype.deviceStatus=function(t){switch(t.params[0]){case 5:this._coreService.triggerDataEvent(a.C0.ESC+"[0n");break;case 6:this._coreService.triggerDataEvent(a.C0.ESC+"["+(this._bufferService.buffer.y+1)+";"+(this._bufferService.buffer.x+1)+"R")}},e.prototype.deviceStatusPrivate=function(t){switch(t.params[0]){case 6:this._coreService.triggerDataEvent(a.C0.ESC+"[?"+(this._bufferService.buffer.y+1)+";"+(this._bufferService.buffer.x+1)+"R")}},e.prototype.softReset=function(t){this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=d.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1},e.prototype.setCursorStyle=function(t){var e=t.params[0]||1;switch(e){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"}this._optionsService.options.cursorBlink=e%2==1},e.prototype.setScrollRegion=function(t){var e,n=t.params[0]||1;(t.length<2||(e=t.params[1])>this._bufferService.rows||0===e)&&(e=this._bufferService.rows),e>n&&(this._bufferService.buffer.scrollTop=n-1,this._bufferService.buffer.scrollBottom=e-1,this._setCursor(0,0))},e.prototype.windowOptions=function(t){if(_(t.params[0],this._optionsService.options.windowOptions)){var e=t.length>1?t.params[1]:0;switch(t.params[0]){case 14:2!==e&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(a.C0.ESC+"[8;"+this._bufferService.rows+";"+this._bufferService.cols+"t");break;case 22:0!==e&&2!==e||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==e&&1!==e||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==e&&2!==e||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==e&&1!==e||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}}},e.prototype.saveCursor=function(t){this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset},e.prototype.restoreCursor=function(t){this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor()},e.prototype.setTitle=function(t){this._windowTitle=t,this._onTitleChange.fire(t)},e.prototype.setIconName=function(t){this._iconName=t},e.prototype.nextLine=function(){this._bufferService.buffer.x=0,this.index()},e.prototype.keypadApplicationMode=function(){this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire()},e.prototype.keypadNumericMode=function(){this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire()},e.prototype.selectDefaultCharset=function(){this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,s.DEFAULT_CHARSET)},e.prototype.selectCharset=function(t){2===t.length?"/"!==t[0]&&this._charsetService.setgCharset(y[t[0]],s.CHARSETS[t[1]]||s.DEFAULT_CHARSET):this.selectDefaultCharset()},e.prototype.index=function(){this._restrictCursor();var t=this._bufferService.buffer;this._bufferService.buffer.y++,t.y===t.scrollBottom+1?(t.y--,this._onRequestScroll.fire(this._eraseAttrData())):t.y>=this._bufferService.rows&&(t.y=this._bufferService.rows-1),this._restrictCursor()},e.prototype.tabSet=function(){this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0},e.prototype.reverseIndex=function(){this._restrictCursor();var t=this._bufferService.buffer;t.y===t.scrollTop?(t.lines.shiftElements(t.ybase+t.y,t.scrollBottom-t.scrollTop,1),t.lines.set(t.ybase+t.y,t.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(t.scrollTop,t.scrollBottom)):(t.y--,this._restrictCursor())},e.prototype.fullReset=function(){this._parser.reset(),this._onRequestReset.fire()},e.prototype.reset=function(){this._curAttrData=d.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=d.DEFAULT_ATTR_DATA.clone()},e.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},e.prototype.setgLevel=function(t){this._charsetService.setgLevel(t)},e.prototype.screenAlignmentPattern=function(){var t=new m.CellData;t.content=1<<22|"E".charCodeAt(0),t.fg=this._curAttrData.fg,t.bg=this._curAttrData.bg;var e=this._bufferService.buffer;this._setCursor(0,0);for(var n=0;n256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(t),this.length=0,this._subParams=new Int32Array(e),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(t),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return t.fromArray=function(e){var n=new t;if(!e.length)return n;for(var i=e[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[e];i-n>0&&t.push(Array.prototype.slice.call(this._subParams,n,i))}return t},t.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},t.prototype.addParam=function(t){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=t>2147483647?2147483647:t}},t.prototype.addSubParam=function(t){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=t>2147483647?2147483647:t,this._subParamsIdx[this.length-1]++}},t.prototype.hasSubParams=function(t){return(255&this._subParamsIdx[t])-(this._subParamsIdx[t]>>8)>0},t.prototype.getSubParams=function(t){var e=this._subParamsIdx[t]>>8,n=255&this._subParamsIdx[t];return n-e>0?this._subParams.subarray(e,n):null},t.prototype.getSubParamsAll=function(){for(var t={},e=0;e>8,i=255&this._subParamsIdx[e];i-n>0&&(t[e]=this._subParams.slice(n,i))}return t},t.prototype.addDigit=function(t){var e;if(!(this._rejectDigits||!(e=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var n=this._digitIsSub?this._subParams:this.params,i=n[e-1];n[e-1]=~i?Math.min(10*i+t,2147483647):t}},t}();e.Params=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OscHandler=e.OscParser=void 0;var i=n(23),r=n(8),o=function(){function t(){this._state=0,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){}}return t.prototype.addHandler=function(t,e){void 0===this._handlers[t]&&(this._handlers[t]=[]);var n=this._handlers[t];return n.push(e),{dispose:function(){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}}},t.prototype.setHandler=function(t,e){this._handlers[t]=[e]},t.prototype.clearHandler=function(t){this._handlers[t]&&delete this._handlers[t]},t.prototype.setHandlerFallback=function(t){this._handlerFb=t},t.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},t.prototype.reset=function(){2===this._state&&this.end(!1),this._id=-1,this._state=0},t.prototype._start=function(){var t=this._handlers[this._id];if(t)for(var e=t.length-1;e>=0;e--)t[e].start();else this._handlerFb(this._id,"START")},t.prototype._put=function(t,e,n){var i=this._handlers[this._id];if(i)for(var o=i.length-1;o>=0;o--)i[o].put(t,e,n);else this._handlerFb(this._id,"PUT",r.utf32ToString(t,e,n))},t.prototype._end=function(t){var e=this._handlers[this._id];if(e){for(var n=e.length-1;n>=0&&!1===e[n].end(t);n--);for(n--;n>=0;n--)e[n].end(!1)}else this._handlerFb(this._id,"END",t)},t.prototype.start=function(){this.reset(),this._id=-1,this._state=1},t.prototype.put=function(t,e,n){if(3!==this._state){if(1===this._state)for(;e0&&this._put(t,e,n)}},t.prototype.end=function(t){0!==this._state&&(3!==this._state&&(1===this._state&&this._start(),this._end(t)),this._id=-1,this._state=0)},t}();e.OscParser=o;var a=function(){function t(t){this._handler=t,this._data="",this._hitLimit=!1}return t.prototype.start=function(){this._data="",this._hitLimit=!1},t.prototype.put=function(t,e,n){this._hitLimit||(this._data+=r.utf32ToString(t,e,n),this._data.length>i.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},t.prototype.end=function(t){var e;return this._hitLimit?e=!1:t&&(e=this._handler(this._data)),this._data="",this._hitLimit=!1,e},t}();e.OscHandler=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PAYLOAD_LIMIT=void 0,e.PAYLOAD_LIMIT=1e7},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DcsHandler=e.DcsParser=void 0;var i=n(8),r=n(21),o=n(23),a=[],s=function(){function t(){this._handlers=Object.create(null),this._active=a,this._ident=0,this._handlerFb=function(){}}return t.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},t.prototype.addHandler=function(t,e){void 0===this._handlers[t]&&(this._handlers[t]=[]);var n=this._handlers[t];return n.push(e),{dispose:function(){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}}},t.prototype.setHandler=function(t,e){this._handlers[t]=[e]},t.prototype.clearHandler=function(t){this._handlers[t]&&delete this._handlers[t]},t.prototype.setHandlerFallback=function(t){this._handlerFb=t},t.prototype.reset=function(){this._active.length&&this.unhook(!1),this._active=a,this._ident=0},t.prototype.hook=function(t,e){if(this.reset(),this._ident=t,this._active=this._handlers[t]||a,this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].hook(e);else this._handlerFb(this._ident,"HOOK",e)},t.prototype.put=function(t,e,n){if(this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,n);else this._handlerFb(this._ident,"PUT",i.utf32ToString(t,e,n))},t.prototype.unhook=function(t){if(this._active.length){for(var e=this._active.length-1;e>=0&&!1===this._active[e].unhook(t);e--);for(e--;e>=0;e--)this._active[e].unhook(!1)}else this._handlerFb(this._ident,"UNHOOK",t);this._active=a,this._ident=0},t}();e.DcsParser=s;var c=function(){function t(t){this._handler=t,this._data="",this._hitLimit=!1}return t.prototype.hook=function(t){this._params=t.clone(),this._data="",this._hitLimit=!1},t.prototype.put=function(t,e,n){this._hitLimit||(this._data+=i.utf32ToString(t,e,n),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},t.prototype.unhook=function(t){var e;return this._hitLimit?e=!1:t&&(e=this._handler(this._data,this._params||new r.Params)),this._params=void 0,this._data="",this._hitLimit=!1,e},t}();e.DcsHandler=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeTerminalFromCache=e.acquireCharAtlas=void 0;var i=n(26),r=n(43),o=[];e.acquireCharAtlas=function(t,e,n,a,s){for(var c=i.generateConfig(a,s,t,n),l=0;l=0){if(i.configEquals(h.config,c))return h.atlas;1===h.ownedBy.length?(h.atlas.dispose(),o.splice(l,1)):h.ownedBy.splice(u,1);break}}for(l=0;l1)for(var h=this._getJoinedRanges(i,s,o,e,r),d=0;d1)for(h=this._getJoinedRanges(i,s,o,e,r),d=0;d=this._line.length))return e?(this._line.loadCell(t,e),e):this._line.loadCell(t,new i.CellData)},t.prototype.translateToString=function(t,e,n){return this._line.translateToString(t,e,n)},t}(),d=function(){function t(t){this._core=t}return t.prototype.registerCsiHandler=function(t,e){return this._core.addCsiHandler(t,(function(t){return e(t.toArray())}))},t.prototype.addCsiHandler=function(t,e){return this.registerCsiHandler(t,e)},t.prototype.registerDcsHandler=function(t,e){return this._core.addDcsHandler(t,(function(t,n){return e(t,n.toArray())}))},t.prototype.addDcsHandler=function(t,e){return this.registerDcsHandler(t,e)},t.prototype.registerEscHandler=function(t,e){return this._core.addEscHandler(t,e)},t.prototype.addEscHandler=function(t,e){return this.registerEscHandler(t,e)},t.prototype.registerOscHandler=function(t,e){return this._core.addOscHandler(t,e)},t.prototype.addOscHandler=function(t,e){return this.registerOscHandler(t,e)},t}(),f=function(){function t(t){this._core=t}return t.prototype.register=function(t){this._core.unicodeService.register(t)},Object.defineProperty(t.prototype,"versions",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"activeVersion",{get:function(){return this._core.unicodeService.activeVersion},set:function(t){this._core.unicodeService.activeVersion=t},enumerable:!1,configurable:!0}),t}()},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.Terminal=void 0;var o=n(36),a=n(37),s=n(38),c=n(12),l=n(19),u=n(40),h=n(50),d=n(51),f=n(11),p=n(7),m=n(18),g=n(54),v=n(55),b=n(56),y=n(57),_=n(59),w=n(0),k=n(16),C=n(27),S=n(60),x=n(5),O=n(61),M=n(62),T=n(63),E=n(64),P=n(65),A="undefined"!=typeof window?window.document:null,j=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.browser=f,n._keyDownHandled=!1,n._onCursorMove=new w.EventEmitter,n._onKey=new w.EventEmitter,n._onRender=new w.EventEmitter,n._onSelectionChange=new w.EventEmitter,n._onTitleChange=new w.EventEmitter,n._onFocus=new w.EventEmitter,n._onBlur=new w.EventEmitter,n._onA11yCharEmitter=new w.EventEmitter,n._onA11yTabEmitter=new w.EventEmitter,n._setup(),n.linkifier=n._instantiationService.createInstance(h.Linkifier),n.linkifier2=n.register(n._instantiationService.createInstance(T.Linkifier2)),n.register(n._inputHandler.onRequestBell((function(){return n.bell()}))),n.register(n._inputHandler.onRequestRefreshRows((function(t,e){return n.refresh(t,e)}))),n.register(n._inputHandler.onRequestReset((function(){return n.reset()}))),n.register(n._inputHandler.onRequestScroll((function(t,e){return n.scroll(t,e||void 0)}))),n.register(n._inputHandler.onRequestWindowsOptionsReport((function(t){return n._reportWindowsOptions(t)}))),n.register(w.forwardEvent(n._inputHandler.onCursorMove,n._onCursorMove)),n.register(w.forwardEvent(n._inputHandler.onTitleChange,n._onTitleChange)),n.register(w.forwardEvent(n._inputHandler.onA11yChar,n._onA11yCharEmitter)),n.register(w.forwardEvent(n._inputHandler.onA11yTab,n._onA11yTabEmitter)),n.register(n._bufferService.onResize((function(t){return n._afterResize(t.cols,t.rows)}))),n}return r(e,t),Object.defineProperty(e.prototype,"options",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onKey",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRender",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onFocus",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onBlur",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onA11yChar",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onA11yTab",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){var e,n,i;this._isDisposed||(t.prototype.dispose.call(this),null===(e=this._renderService)||void 0===e||e.dispose(),this._customKeyEventHandler=void 0,this.write=function(){},null===(i=null===(n=this.element)||void 0===n?void 0:n.parentNode)||void 0===i||i.removeChild(this.element))},e.prototype._setup=function(){t.prototype._setup.call(this),this._customKeyEventHandler=void 0},Object.defineProperty(e.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),e.prototype.focus=function(){this.textarea&&this.textarea.focus({preventScroll:!0})},e.prototype._updateOptions=function(e){var n,i,r,o;switch(t.prototype._updateOptions.call(this,e),e){case"fontFamily":case"fontSize":null===(n=this._renderService)||void 0===n||n.clear(),null===(i=this._charSizeService)||void 0===i||i.measure();break;case"cursorBlink":case"cursorStyle":this.refresh(this.buffer.y,this.buffer.y);break;case"drawBoldTextInBrightColors":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":case"minimumContrastRatio":this._renderService&&(this._renderService.clear(),this._renderService.onResize(this.cols,this.rows),this.refresh(0,this.rows-1));break;case"rendererType":this._renderService&&(this._renderService.setRenderer(this._createRenderer()),this._renderService.onResize(this.cols,this.rows));break;case"scrollback":null===(r=this.viewport)||void 0===r||r.syncScrollArea();break;case"screenReaderMode":this.optionsService.options.screenReaderMode?!this._accessibilityManager&&this._renderService&&(this._accessibilityManager=new b.AccessibilityManager(this,this._renderService)):(null===(o=this._accessibilityManager)||void 0===o||o.dispose(),this._accessibilityManager=void 0);break;case"tabStopWidth":this.buffers.setupTabStops();break;case"theme":this._setTheme(this.optionsService.options.theme)}},e.prototype._onTextAreaFocus=function(t){this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[I"),this.updateCursorStyle(t),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()},e.prototype.blur=function(){var t;return null===(t=this.textarea)||void 0===t?void 0:t.blur()},e.prototype._onTextAreaBlur=function(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()},e.prototype._syncTextArea=function(){if(this.textarea&&this.buffer.isCursorInViewport&&!this._compositionHelper.isComposing){var t=Math.ceil(this._charSizeService.height*this.optionsService.options.lineHeight),e=this._bufferService.buffer.y*t;this.textarea.style.left=this._bufferService.buffer.x*this._charSizeService.width+"px",this.textarea.style.top=e+"px",this.textarea.style.width=this._charSizeService.width+"px",this.textarea.style.height=t+"px",this.textarea.style.lineHeight=t+"px",this.textarea.style.zIndex="-5"}},e.prototype._initGlobal=function(){var t=this;this._bindKeys(),this.register(p.addDisposableDomListener(this.element,"copy",(function(e){t.hasSelection()&&s.copyHandler(e,t._selectionService)})));var e=function(e){return s.handlePasteEvent(e,t.textarea,t._coreService)};this.register(p.addDisposableDomListener(this.textarea,"paste",e)),this.register(p.addDisposableDomListener(this.element,"paste",e)),this.register(f.isFirefox?p.addDisposableDomListener(this.element,"mousedown",(function(e){2===e.button&&s.rightClickHandler(e,t.textarea,t.screenElement,t._selectionService,t.options.rightClickSelectsWord)})):p.addDisposableDomListener(this.element,"contextmenu",(function(e){s.rightClickHandler(e,t.textarea,t.screenElement,t._selectionService,t.options.rightClickSelectsWord)}))),f.isLinux&&this.register(p.addDisposableDomListener(this.element,"auxclick",(function(e){1===e.button&&s.moveTextAreaUnderMouseCursor(e,t.textarea,t.screenElement)})))},e.prototype._bindKeys=function(){var t=this;this.register(p.addDisposableDomListener(this.textarea,"keyup",(function(e){return t._keyUp(e)}),!0)),this.register(p.addDisposableDomListener(this.textarea,"keydown",(function(e){return t._keyDown(e)}),!0)),this.register(p.addDisposableDomListener(this.textarea,"keypress",(function(e){return t._keyPress(e)}),!0)),this.register(p.addDisposableDomListener(this.textarea,"compositionstart",(function(){return t._compositionHelper.compositionstart()}))),this.register(p.addDisposableDomListener(this.textarea,"compositionupdate",(function(e){return t._compositionHelper.compositionupdate(e)}))),this.register(p.addDisposableDomListener(this.textarea,"compositionend",(function(){return t._compositionHelper.compositionend()}))),this.register(this.onRender((function(){return t._compositionHelper.updateCompositionElements()}))),this.register(this.onRender((function(e){return t._queueLinkification(e.start,e.end)})))},e.prototype.open=function(t){var e=this;if(!t)throw new Error("Terminal requires a parent element.");A.body.contains(t)||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=t.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.setAttribute("tabindex","0"),t.appendChild(this.element);var n=A.createDocumentFragment();this._viewportElement=A.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),n.appendChild(this._viewportElement),this._viewportScrollArea=A.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=A.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=A.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),n.appendChild(this.screenElement),this.textarea=A.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",m.promptLabel),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.register(p.addDisposableDomListener(this.textarea,"focus",(function(t){return e._onTextAreaFocus(t)}))),this.register(p.addDisposableDomListener(this.textarea,"blur",(function(){return e._onTextAreaBlur()}))),this._helperContainer.appendChild(this.textarea);var i=this._instantiationService.createInstance(E.CoreBrowserService,this.textarea);this._instantiationService.setService(x.ICoreBrowserService,i),this._charSizeService=this._instantiationService.createInstance(O.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(x.ICharSizeService,this._charSizeService),this._compositionView=A.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(o.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(n),this._theme=this.options.theme||this._theme,this._colorManager=new C.ColorManager(A,this.options.allowTransparency),this.register(this.optionsService.onOptionChange((function(t){return e._colorManager.onOptionsChange(t)}))),this._colorManager.setTheme(this._theme);var r=this._createRenderer();this._renderService=this.register(this._instantiationService.createInstance(S.RenderService,r,this.rows,this.screenElement)),this._instantiationService.setService(x.IRenderService,this._renderService),this.register(this._renderService.onRenderedBufferChange((function(t){return e._onRender.fire(t)}))),this.onResize((function(t){return e._renderService.resize(t.cols,t.rows)})),this._soundService=this._instantiationService.createInstance(g.SoundService),this._instantiationService.setService(x.ISoundService,this._soundService),this._mouseService=this._instantiationService.createInstance(M.MouseService),this._instantiationService.setService(x.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(a.Viewport,(function(t,n){return e.scrollLines(t,n)}),this._viewportElement,this._viewportScrollArea),this.viewport.onThemeChange(this._colorManager.colors),this.register(this._inputHandler.onRequestSyncScrollBar((function(){return e.viewport.syncScrollArea()}))),this.register(this.viewport),this.register(this.onCursorMove((function(){e._renderService.onCursorMove(),e._syncTextArea()}))),this.register(this.onResize((function(){return e._renderService.onResize(e.cols,e.rows)}))),this.register(this.onBlur((function(){return e._renderService.onBlur()}))),this.register(this.onFocus((function(){return e._renderService.onFocus()}))),this.register(this._renderService.onDimensionsChange((function(){return e.viewport.syncScrollArea()}))),this._selectionService=this.register(this._instantiationService.createInstance(d.SelectionService,this.element,this.screenElement)),this._instantiationService.setService(x.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((function(t){return e.scrollLines(t.amount,t.suppressScrollEvent)}))),this.register(this._selectionService.onSelectionChange((function(){return e._onSelectionChange.fire()}))),this.register(this._selectionService.onRequestRedraw((function(t){return e._renderService.onSelectionChanged(t.start,t.end,t.columnSelectMode)}))),this.register(this._selectionService.onLinuxMouseSelection((function(t){e.textarea.value=t,e.textarea.focus(),e.textarea.select()}))),this.register(this.onScroll((function(){e.viewport.syncScrollArea(),e._selectionService.refresh()}))),this.register(p.addDisposableDomListener(this._viewportElement,"scroll",(function(){return e._selectionService.refresh()}))),this._mouseZoneManager=this._instantiationService.createInstance(v.MouseZoneManager,this.element,this.screenElement),this.register(this._mouseZoneManager),this.register(this.onScroll((function(){return e._mouseZoneManager.clearAll()}))),this.linkifier.attachToDom(this.element,this._mouseZoneManager),this.linkifier2.attachToDom(this.element,this._mouseService,this._renderService),this.register(p.addDisposableDomListener(this.element,"mousedown",(function(t){return e._selectionService.onMouseDown(t)}))),this._coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager=new b.AccessibilityManager(this,this._renderService)),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()},e.prototype._createRenderer=function(){switch(this.options.rendererType){case"canvas":return this._instantiationService.createInstance(u.Renderer,this._colorManager.colors,this.screenElement,this.linkifier,this.linkifier2);case"dom":return this._instantiationService.createInstance(y.DomRenderer,this._colorManager.colors,this.element,this.screenElement,this._viewportElement,this.linkifier,this.linkifier2);default:throw new Error('Unrecognized rendererType "'+this.options.rendererType+'"')}},e.prototype._setTheme=function(t){var e,n,i;this._theme=t,null===(e=this._colorManager)||void 0===e||e.setTheme(t),null===(n=this._renderService)||void 0===n||n.setColors(this._colorManager.colors),null===(i=this.viewport)||void 0===i||i.onThemeChange(this._colorManager.colors)},e.prototype.bindMouse=function(){var t=this,e=this,n=this.element;function i(t){var n,i,r=e._mouseService.getRawByteCoords(t,e.screenElement,e.cols,e.rows);if(!r)return!1;switch(t.overrideType||t.type){case"mousemove":i=32,void 0===t.buttons?(n=3,void 0!==t.button&&(n=t.button<3?t.button:3)):n=1&t.buttons?0:4&t.buttons?1:2&t.buttons?2:3;break;case"mouseup":i=0,n=t.button<3?t.button:3;break;case"mousedown":i=1,n=t.button<3?t.button:3;break;case"wheel":0!==t.deltaY&&(i=t.deltaY<0?0:1),n=4;break;default:return!1}return!(void 0===i||void 0===n||n>4)&&e._coreMouseService.triggerMouseEvent({col:r.x-33,row:r.y-33,button:n,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}var r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(e){return i(e),e.buttons||(t._document.removeEventListener("mouseup",r.mouseup),r.mousedrag&&t._document.removeEventListener("mousemove",r.mousedrag)),t.cancel(e)},a=function(e){return i(e),e.preventDefault(),t.cancel(e)},s=function(t){t.buttons&&i(t)},l=function(t){t.buttons||i(t)};this.register(this._coreMouseService.onProtocolChange((function(e){e?("debug"===t.optionsService.options.logLevel&&t._logService.debug("Binding to mouse events:",t._coreMouseService.explainEvents(e)),t.element.classList.add("enable-mouse-events"),t._selectionService.disable()):(t._logService.debug("Unbinding from mouse events."),t.element.classList.remove("enable-mouse-events"),t._selectionService.enable()),8&e?r.mousemove||(n.addEventListener("mousemove",l),r.mousemove=l):(n.removeEventListener("mousemove",r.mousemove),r.mousemove=null),16&e?r.wheel||(n.addEventListener("wheel",a,{passive:!1}),r.wheel=a):(n.removeEventListener("wheel",r.wheel),r.wheel=null),2&e?r.mouseup||(r.mouseup=o):(t._document.removeEventListener("mouseup",r.mouseup),r.mouseup=null),4&e?r.mousedrag||(r.mousedrag=s):(t._document.removeEventListener("mousemove",r.mousedrag),r.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(p.addDisposableDomListener(n,"mousedown",(function(e){if(e.preventDefault(),t.focus(),t._coreMouseService.areMouseEventsActive&&!t._selectionService.shouldForceSelection(e))return i(e),r.mouseup&&t._document.addEventListener("mouseup",r.mouseup),r.mousedrag&&t._document.addEventListener("mousemove",r.mousedrag),t.cancel(e)}))),this.register(p.addDisposableDomListener(n,"wheel",(function(e){if(r.wheel);else if(!t.buffer.hasScrollback){var n=t.viewport.getLinesScrolled(e);if(0===n)return;for(var i=c.C0.ESC+(t._coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(e.deltaY<0?"A":"B"),o="",a=0;a47)},e.prototype._keyUp=function(t){this._customKeyEventHandler&&!1===this._customKeyEventHandler(t)||(function(t){return 16===t.keyCode||17===t.keyCode||18===t.keyCode}(t)||this.focus(),this.updateCursorStyle(t))},e.prototype._keyPress=function(t){var e;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(t))return!1;if(this.cancel(t),t.charCode)e=t.charCode;else if(null==t.which)e=t.keyCode;else{if(0===t.which||0===t.charCode)return!1;e=t.which}return!(!e||(t.altKey||t.ctrlKey||t.metaKey)&&!this._isThirdLevelShift(this.browser,t)||(e=String.fromCharCode(e),this._onKey.fire({key:e,domEvent:t}),this._showCursor(),this._coreService.triggerDataEvent(e,!0),0))},e.prototype.bell=function(){this._soundBell()&&this._soundService.playBellSound()},e.prototype.resize=function(e,n){e!==this.cols||n!==this.rows?t.prototype.resize.call(this,e,n):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},e.prototype._afterResize=function(t,e){var n,i;null===(n=this._charSizeService)||void 0===n||n.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},e.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){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(var t=1;t=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},r=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.CompositionHelper=void 0;var o=n(5),a=n(1),s=function(){function t(t,e,n,i,r,o){this._textarea=t,this._compositionView=e,this._bufferService=n,this._optionsService=i,this._charSizeService=r,this._coreService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0}}return Object.defineProperty(t.prototype,"isComposing",{get:function(){return this._isComposing},enumerable:!1,configurable:!0}),t.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._compositionView.classList.add("active")},t.prototype.compositionupdate=function(t){var e=this;this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout((function(){e._compositionPosition.end=e._textarea.value.length}),0)},t.prototype.compositionend=function(){this._finalizeComposition(!0)},t.prototype.keydown=function(t){if(this._isComposing||this._isSendingComposition){if(229===t.keyCode)return!1;if(16===t.keyCode||17===t.keyCode||18===t.keyCode)return!1;this._finalizeComposition(!1)}return 229!==t.keyCode||(this._handleAnyTextareaChanges(),!1)},t.prototype._finalizeComposition=function(t){var e=this;if(this._compositionView.classList.remove("active"),this._isComposing=!1,t){var n={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){var t;e._isSendingComposition&&(e._isSendingComposition=!1,t=e._isComposing?e._textarea.value.substring(n.start,n.end):e._textarea.value.substring(n.start),e._coreService.triggerDataEvent(t,!0))}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},t.prototype._handleAnyTextareaChanges=function(){var t=this,e=this._textarea.value;setTimeout((function(){if(!t._isComposing){var n=t._textarea.value.replace(e,"");n.length>0&&t._coreService.triggerDataEvent(n,!0)}}),0)},t.prototype.updateCompositionElements=function(t){var e=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var n=Math.ceil(this._charSizeService.height*this._optionsService.options.lineHeight),i=this._bufferService.buffer.y*n,r=this._bufferService.buffer.x*this._charSizeService.width;this._compositionView.style.left=r+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=n+"px",this._compositionView.style.lineHeight=n+"px",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+"px";var o=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+"px",this._textarea.style.top=i+"px",this._textarea.style.width=o.width+"px",this._textarea.style.height=o.height+"px",this._textarea.style.lineHeight=o.height+"px"}t||setTimeout((function(){return e.updateCompositionElements(!0)}),0)}},i([r(2,a.IBufferService),r(3,a.IOptionsService),r(4,o.ICharSizeService),r(5,a.ICoreService)],t)}();e.CompositionHelper=s},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.Viewport=void 0;var s=n(2),c=n(7),l=n(5),u=n(1),h=function(t){function e(e,n,i,r,o,a,s){var l=t.call(this)||this;return l._scrollLines=e,l._viewportElement=n,l._scrollArea=i,l._bufferService=r,l._optionsService=o,l._charSizeService=a,l._renderService=s,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,"scroll",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return r(e,t),e.prototype.onThemeChange=function(t){this._viewportElement.style.backgroundColor=t.background.css},e.prototype._refresh=function(t){var e=this;if(t)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return e._innerRefresh()})))},e.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var t=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==t&&(this._lastRecordedBufferHeight=t,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}var e=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==e&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=e),this._refreshAnimationFrame=null},e.prototype.syncScrollArea=function(t){if(void 0===t&&(t=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(t);this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight&&this._lastScrollTop===this._bufferService.buffer.ydisp*this._currentRowHeight&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(t)},e.prototype._onScroll=function(t){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent)if(this._ignoreNextScrollEvent)this._ignoreNextScrollEvent=!1;else{var e=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(e,!0)}},e.prototype._bubbleScroll=function(t,e){return!(e<0&&0!==this._viewportElement.scrollTop||e>0&&this._viewportElement.scrollTop+this._lastRecordedViewportHeight0?1:-1),this._wheelPartialScroll%=1):t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(e*=this._bufferService.rows),e},e.prototype._applyScrollModifier=function(t,e){var n=this._optionsService.options.fastScrollModifier;return"alt"===n&&e.altKey||"ctrl"===n&&e.ctrlKey||"shift"===n&&e.shiftKey?t*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:t*this._optionsService.options.scrollSensitivity},e.prototype.onTouchStart=function(t){this._lastTouchY=t.touches[0].pageY},e.prototype.onTouchMove=function(t){var e=this._lastTouchY-t.touches[0].pageY;return this._lastTouchY=t.touches[0].pageY,0!==e&&(this._viewportElement.scrollTop+=e,this._bubbleScroll(t,e))},o([a(3,u.IBufferService),a(4,u.IOptionsService),a(5,l.ICharSizeService),a(6,l.IRenderService)],e)}(s.Disposable);e.Viewport=h},function(t,e,n){"use strict";function i(t){return t.replace(/\r?\n/g,"\r")}function r(t,e){return e?"\x1b[200~"+t+"\x1b[201~":t}function o(t,e,n){t=r(t=i(t),n.decPrivateModes.bracketedPasteMode),n.triggerDataEvent(t,!0),e.value=""}function a(t,e,n){var i=n.getBoundingClientRect(),r=t.clientX-i.left-10,o=t.clientY-i.top-10;e.style.width="20px",e.style.height="20px",e.style.left=r+"px",e.style.top=o+"px",e.style.zIndex="1000",e.focus()}Object.defineProperty(e,"__esModule",{value:!0}),e.rightClickHandler=e.moveTextAreaUnderMouseCursor=e.paste=e.handlePasteEvent=e.copyHandler=e.bracketTextForPaste=e.prepareTextForTerminal=void 0,e.prepareTextForTerminal=i,e.bracketTextForPaste=r,e.copyHandler=function(t,e){t.clipboardData&&t.clipboardData.setData("text/plain",e.selectionText),t.preventDefault()},e.handlePasteEvent=function(t,e,n){t.stopPropagation(),t.clipboardData&&o(t.clipboardData.getData("text/plain"),e,n)},e.paste=o,e.moveTextAreaUnderMouseCursor=a,e.rightClickHandler=function(t,e,n,i,r){a(t,e,n),r&&!i.isClickInSelection(t)&&i.selectWordAtCursor(t),e.value=i.selectionText,e.select()}},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.EscapeSequenceParser=e.VT500_TRANSITION_TABLE=e.TransitionTable=void 0;var o=n(2),a=n(15),s=n(21),c=n(22),l=n(24),u=function(){function t(t){this.table=new Uint8Array(t)}return t.prototype.setDefault=function(t,e){a.fill(this.table,t<<4|e)},t.prototype.add=function(t,e,n,i){this.table[e<<8|t]=n<<4|i},t.prototype.addMany=function(t,e,n,i){for(var r=0;r1)throw new Error("only one byte as prefix supported");if((n=t.prefix.charCodeAt(0))&&60>n||n>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(t.intermediates){if(t.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(var i=0;ir||r>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");n<<=8,n|=r}}if(1!==t.final.length)throw new Error("final must be a single byte");var o=t.final.charCodeAt(0);if(e[0]>o||o>e[1])throw new Error("final must be in range "+e[0]+" .. "+e[1]);return(n<<=8)|o},n.prototype.identToString=function(t){for(var e=[];t;)e.push(String.fromCharCode(255&t)),t>>=8;return e.reverse().join("")},n.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},n.prototype.setPrintHandler=function(t){this._printHandler=t},n.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},n.prototype.addEscHandler=function(t,e){var n=this._identifier(t,[48,126]);void 0===this._escHandlers[n]&&(this._escHandlers[n]=[]);var i=this._escHandlers[n];return i.push(e),{dispose:function(){var t=i.indexOf(e);-1!==t&&i.splice(t,1)}}},n.prototype.setEscHandler=function(t,e){this._escHandlers[this._identifier(t,[48,126])]=[e]},n.prototype.clearEscHandler=function(t){this._escHandlers[this._identifier(t,[48,126])]&&delete this._escHandlers[this._identifier(t,[48,126])]},n.prototype.setEscHandlerFallback=function(t){this._escHandlerFb=t},n.prototype.setExecuteHandler=function(t,e){this._executeHandlers[t.charCodeAt(0)]=e},n.prototype.clearExecuteHandler=function(t){this._executeHandlers[t.charCodeAt(0)]&&delete this._executeHandlers[t.charCodeAt(0)]},n.prototype.setExecuteHandlerFallback=function(t){this._executeHandlerFb=t},n.prototype.addCsiHandler=function(t,e){var n=this._identifier(t);void 0===this._csiHandlers[n]&&(this._csiHandlers[n]=[]);var i=this._csiHandlers[n];return i.push(e),{dispose:function(){var t=i.indexOf(e);-1!==t&&i.splice(t,1)}}},n.prototype.setCsiHandler=function(t,e){this._csiHandlers[this._identifier(t)]=[e]},n.prototype.clearCsiHandler=function(t){this._csiHandlers[this._identifier(t)]&&delete this._csiHandlers[this._identifier(t)]},n.prototype.setCsiHandlerFallback=function(t){this._csiHandlerFb=t},n.prototype.addDcsHandler=function(t,e){return this._dcsParser.addHandler(this._identifier(t),e)},n.prototype.setDcsHandler=function(t,e){this._dcsParser.setHandler(this._identifier(t),e)},n.prototype.clearDcsHandler=function(t){this._dcsParser.clearHandler(this._identifier(t))},n.prototype.setDcsHandlerFallback=function(t){this._dcsParser.setHandlerFallback(t)},n.prototype.addOscHandler=function(t,e){return this._oscParser.addHandler(t,e)},n.prototype.setOscHandler=function(t,e){this._oscParser.setHandler(t,e)},n.prototype.clearOscHandler=function(t){this._oscParser.clearHandler(t)},n.prototype.setOscHandlerFallback=function(t){this._oscParser.setHandlerFallback(t)},n.prototype.setErrorHandler=function(t){this._errorHandler=t},n.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},n.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0},n.prototype.parse=function(t,e){for(var n=0,i=0,r=this.currentState,o=this._oscParser,a=this._dcsParser,s=this._collect,c=this._params,l=this._transitions.table,u=0;u>4){case 2:for(var h=u+1;;++h){if(h>=e||(n=t[h])<32||n>126&&n<160){this._printHandler(t,u,h),u=h-1;break}if(++h>=e||(n=t[h])<32||n>126&&n<160){this._printHandler(t,u,h),u=h-1;break}if(++h>=e||(n=t[h])<32||n>126&&n<160){this._printHandler(t,u,h),u=h-1;break}if(++h>=e||(n=t[h])<32||n>126&&n<160){this._printHandler(t,u,h),u=h-1;break}}break;case 3:this._executeHandlers[n]?this._executeHandlers[n]():this._executeHandlerFb(n),this.precedingCodepoint=0;break;case 0:break;case 1:if(this._errorHandler({position:u,code:n,currentState:r,collect:s,params:c,abort:!1}).abort)return;break;case 7:for(var d=this._csiHandlers[s<<8|n],f=d?d.length-1:-1;f>=0&&!1===d[f](c);f--);f<0&&this._csiHandlerFb(s<<8|n,c),this.precedingCodepoint=0;break;case 8:do{switch(n){case 59:c.addParam(0);break;case 58:c.addSubParam(-1);break;default:c.addDigit(n-48)}}while(++u47&&n<60);u--;break;case 9:s<<=8,s|=n;break;case 10:for(var p=this._escHandlers[s<<8|n],m=p?p.length-1:-1;m>=0&&!1===p[m]();m--);m<0&&this._escHandlerFb(s<<8|n),this.precedingCodepoint=0;break;case 11:c.reset(),c.addParam(0),s=0;break;case 12:a.hook(s<<8|n,c);break;case 13:for(var g=u+1;;++g)if(g>=e||24===(n=t[g])||26===n||27===n||n>127&&n<160){a.put(t,u,g),u=g-1;break}break;case 14:a.unhook(24!==n&&26!==n),27===n&&(i|=1),c.reset(),c.addParam(0),s=0,this.precedingCodepoint=0;break;case 4:o.start();break;case 5:for(var v=u+1;;v++)if(v>=e||(n=t[v])<32||n>127&&n<=159){o.put(t,u,v),u=v-1;break}break;case 6:o.end(24!==n&&26!==n),27===n&&(i|=1),c.reset(),c.addParam(0),s=0,this.precedingCodepoint=0}r=15&i}this._collect=s,this.currentState=r},n}(o.Disposable);e.EscapeSequenceParser=h},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.Renderer=void 0;var s=n(41),c=n(47),l=n(48),u=n(49),h=n(29),d=n(2),f=n(5),p=n(1),m=n(25),g=n(0),v=1,b=function(t){function e(e,n,i,r,o,a,d,f,p){var m=t.call(this)||this;m._colors=e,m._screenElement=n,m._bufferService=o,m._charSizeService=a,m._optionsService=d,m._id=v++,m._onRequestRedraw=new g.EventEmitter;var b=m._optionsService.options.allowTransparency;return m._characterJoinerRegistry=new h.CharacterJoinerRegistry(m._bufferService),m._renderLayers=[new s.TextRenderLayer(m._screenElement,0,m._colors,m._characterJoinerRegistry,b,m._id,m._bufferService,d),new c.SelectionRenderLayer(m._screenElement,1,m._colors,m._id,m._bufferService,d),new u.LinkRenderLayer(m._screenElement,2,m._colors,m._id,i,r,m._bufferService,d),new l.CursorRenderLayer(m._screenElement,3,m._colors,m._id,m._onRequestRedraw,m._bufferService,d,f,p)],m.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},m._devicePixelRatio=window.devicePixelRatio,m._updateDimensions(),m.onOptionsChanged(),m}return r(e,t),Object.defineProperty(e.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){for(var e=0,n=this._renderLayers;e0&&u===s[0][0]){d=!0;var p=s.shift();h=new l.JoinedCellData(this._workCell,a.translateToString(!0,p[0],p[1]),p[1]-p[0]),f=p[1]-1}!d&&this._isOverlapping(h)&&fthis._characterWidth;return this._ctx.restore(),this._characterOverlapCache[e]=n,n},e}(a.BaseRenderLayer);e.TextRenderLayer=h},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GridCache=void 0;var i=function(){function t(){this.cache=[]}return t.prototype.resize=function(t,e){for(var n=0;n>>24,r=e.rgba>>>16&255,o=e.rgba>>>8&255,a=0;a=this.capacity)this._unlinkNode(n=this._head),delete this._map[n.key],n.key=t,n.value=e,this._map[t]=n;else{var i=this._nodePool;i.length>0?((n=i.pop()).key=t,n.value=e):n={prev:null,next:null,key:t,value:e},this._map[t]=n,this.size++}this._appendNode(n)},t}();e.LRUMap=i},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRenderLayer=void 0;var o=function(t){function e(e,n,i,r,o,a){var s=t.call(this,e,"selection",n,!0,i,r,o,a)||this;return s._clearState(),s}return r(e,t),e.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},e.prototype.resize=function(e){t.prototype.resize.call(this,e),this._clearState()},e.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},e.prototype.onSelectionChanged=function(t,e,n){if(this._didStateChange(t,e,n,this._bufferService.buffer.ydisp))if(this._clearAll(),t&&e){var i=t[1]-this._bufferService.buffer.ydisp,r=e[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),a=Math.min(r,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||a<0)){if(this._ctx.fillStyle=this._colors.selectionTransparent.css,n){var s=t[0];this._fillCells(s,o,e[0]-s,a-o+1)}else{this._fillCells(s=i===o?t[0]:0,o,(o===a?e[0]:this._bufferService.cols)-s,1);var c=Math.max(a-o-1,0);this._fillCells(0,o+1,this._bufferService.cols,c),o!==a&&this._fillCells(0,a,r===a?e[0]:this._bufferService.cols,1)}this._state.start=[t[0],t[1]],this._state.end=[e[0],e[1]],this._state.columnSelectMode=n,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},e.prototype._didStateChange=function(t,e,n,i){return!this._areCoordinatesEqual(t,this._state.start)||!this._areCoordinatesEqual(e,this._state.end)||n!==this._state.columnSelectMode||i!==this._state.ydisp},e.prototype._areCoordinatesEqual=function(t,e){return!(!t||!e)&&t[0]===e[0]&&t[1]===e[1]},e}(n(13).BaseRenderLayer);e.SelectionRenderLayer=o},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CursorRenderLayer=void 0;var o=n(13),a=n(4),s=function(t){function e(e,n,i,r,o,s,c,l,u){var h=t.call(this,e,"cursor",n,!0,i,r,s,c)||this;return h._onRequestRedraw=o,h._coreService=l,h._coreBrowserService=u,h._cell=new a.CellData,h._state={x:0,y:0,isFocused:!1,style:"",width:0},h._cursorRenderers={bar:h._renderBarCursor.bind(h),block:h._renderBlockCursor.bind(h),underline:h._renderUnderlineCursor.bind(h)},h}return r(e,t),e.prototype.resize=function(e){t.prototype.resize.call(this,e),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},e.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},e.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},e.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},e.prototype.onOptionsChanged=function(){var t,e=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new c(this._coreBrowserService.isFocused,(function(){e._render(!0)}))):(null===(t=this._cursorBlinkStateManager)||void 0===t||t.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},e.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},e.prototype.onGridChanged=function(t,e){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},e.prototype._render=function(t){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var e=this._bufferService.buffer.ybase+this._bufferService.buffer.y,n=e-this._bufferService.buffer.ydisp;if(n<0||n>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(e).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var r=this._optionsService.options.cursorStyle;return r&&"block"!==r?this._cursorRenderers[r](i,n,this._cell):this._renderBlurCursor(i,n,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=n,this._state.isFocused=!1,this._state.style=r,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===n&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||"block"](i,n,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=n,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},e.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},e.prototype._renderBarCursor=function(t,e,n){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(t,e,this._optionsService.options.cursorWidth),this._ctx.restore()},e.prototype._renderBlockCursor=function(t,e,n){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(t,e,n.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(n,t,e),this._ctx.restore()},e.prototype._renderUnderlineCursor=function(t,e,n){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(t,e),this._ctx.restore()},e.prototype._renderBlurCursor=function(t,e,n){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(t,e,n.getWidth(),1),this._ctx.restore()},e}(o.BaseRenderLayer);e.CursorRenderLayer=s;var c=function(){function t(t,e){this._renderCallback=e,this.isCursorVisible=!0,t&&this._restartInterval()}return Object.defineProperty(t.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},t.prototype.restartBlinkAnimation=function(){var t=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))))},t.prototype._restartInterval=function(t){var e=this;void 0===t&&(t=600),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(e._animationTimeRestarted){var t=600-(Date.now()-e._animationTimeRestarted);if(e._animationTimeRestarted=void 0,t>0)return void e._restartInterval(t)}e.isCursorVisible=!1,e._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0})),e._blinkInterval=window.setInterval((function(){if(e._animationTimeRestarted){var t=600-(Date.now()-e._animationTimeRestarted);return e._animationTimeRestarted=void 0,void e._restartInterval(t)}e.isCursorVisible=!e.isCursorVisible,e._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))}),600)}),t)},t.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},t.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},t}()},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.LinkRenderLayer=void 0;var o=n(13),a=n(9),s=n(26),c=function(t){function e(e,n,i,r,o,a,s,c){var l=t.call(this,e,"link",n,!0,i,r,s,c)||this;return o.onShowLinkUnderline((function(t){return l._onShowLinkUnderline(t)})),o.onHideLinkUnderline((function(t){return l._onHideLinkUnderline(t)})),a.onShowLinkUnderline((function(t){return l._onShowLinkUnderline(t)})),a.onHideLinkUnderline((function(t){return l._onHideLinkUnderline(t)})),l}return r(e,t),e.prototype.resize=function(e){t.prototype.resize.call(this,e),this._state=void 0},e.prototype.reset=function(){this._clearCurrentLink()},e.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var t=this._state.y2-this._state.y1-1;t>0&&this._clearCells(0,this._state.y1+1,this._state.cols,t),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},e.prototype._onShowLinkUnderline=function(t){if(this._ctx.fillStyle=t.fg===a.INVERTED_DEFAULT_COLOR?this._colors.background.css:t.fg&&s.is256Color(t.fg)?this._colors.ansi[t.fg].css:this._colors.foreground.css,t.y1===t.y2)this._fillBottomLineAtCells(t.x1,t.y1,t.x2-t.x1);else{this._fillBottomLineAtCells(t.x1,t.y1,t.cols-t.x1);for(var e=t.y1+1;e=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},r=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.MouseZone=e.Linkifier=void 0;var o=n(0),a=n(1),s=function(){function t(t,e,n){this._bufferService=t,this._logService=e,this._unicodeService=n,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(t.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLinkTooltip",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),t.prototype.attachToDom=function(t,e){this._element=t,this._mouseZoneManager=e},t.prototype.linkifyRows=function(e,n){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=e,this._rowsToLinkify.end=n):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,e),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,n)),this._mouseZoneManager.clearAll(e,n),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),t._timeBeforeLatency))},t.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var t=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var e=t.ydisp+this._rowsToLinkify.start;if(!(e>=t.lines.length)){for(var n=t.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),r=this._bufferService.buffer.iterator(!1,e,n,i,i);r.hasNext();)for(var o=r.next(),a=0;a=0;e--)if(t.priority<=this._linkMatchers[e].priority)return void this._linkMatchers.splice(e+1,0,t);this._linkMatchers.splice(0,0,t)}else this._linkMatchers.push(t)},t.prototype.deregisterLinkMatcher=function(t){for(var e=0;e>9&511:void 0;n.validationCallback?n.validationCallback(s,(function(t){r._rowsTimeoutId||t&&r._addLink(l[1],l[0]-r._bufferService.buffer.ydisp,s,n,d)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,s,n,d)},c=this;null!==(i=o.exec(e))&&"break"!==s(););},t.prototype._addLink=function(t,e,n,i,r){var o=this;if(this._mouseZoneManager&&this._element){var a=this._unicodeService.getStringCellWidth(n),s=t%this._bufferService.cols,l=e+Math.floor(t/this._bufferService.cols),u=(s+a)%this._bufferService.cols,h=l+Math.floor((s+a)/this._bufferService.cols);0===u&&(u=this._bufferService.cols,h--),this._mouseZoneManager.add(new c(s+1,l+1,u+1,h+1,(function(t){if(i.handler)return i.handler(t,n);var e=window.open();e?(e.opener=null,e.location.href=n):console.warn("Opening link blocked as opener could not be cleared")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(s,l,u,h,r)),o._element.classList.add("xterm-cursor-pointer")}),(function(t){o._onLinkTooltip.fire(o._createLinkHoverEvent(s,l,u,h,r)),i.hoverTooltipCallback&&i.hoverTooltipCallback(t,n,{start:{x:s,y:l},end:{x:u,y:h}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(s,l,u,h,r)),o._element.classList.remove("xterm-cursor-pointer"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(t){return!i.willLinkActivate||i.willLinkActivate(t,n)})))}},t.prototype._createLinkHoverEvent=function(t,e,n,i,r){return{x1:t,y1:e,x2:n,y2:i,cols:this._bufferService.cols,fg:r}},t._timeBeforeLatency=200,t=i([r(0,a.IBufferService),r(1,a.ILogService),r(2,a.IUnicodeService)],t)}();e.Linkifier=s;var c=function(t,e,n,i,r,o,a,s,c){this.x1=t,this.y1=e,this.x2=n,this.y2=i,this.clickCallback=r,this.hoverCallback=o,this.tooltipCallback=a,this.leaveCallback=s,this.willLinkActivate=c};e.MouseZone=c},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionService=void 0;var s=n(11),c=n(52),l=n(4),u=n(0),h=n(5),d=n(1),f=n(30),p=n(53),m=n(2),g=String.fromCharCode(160),v=new RegExp(g,"g"),b=function(t){function e(e,n,i,r,o,a,s){var h=t.call(this)||this;return h._element=e,h._screenElement=n,h._bufferService=i,h._coreService=r,h._mouseService=o,h._optionsService=a,h._renderService=s,h._dragScrollAmount=0,h._enabled=!0,h._workCell=new l.CellData,h._mouseDownTimeStamp=0,h._onLinuxMouseSelection=h.register(new u.EventEmitter),h._onRedrawRequest=h.register(new u.EventEmitter),h._onSelectionChange=h.register(new u.EventEmitter),h._onRequestScrollLines=h.register(new u.EventEmitter),h._mouseMoveListener=function(t){return h._onMouseMove(t)},h._mouseUpListener=function(t){return h._onMouseUp(t)},h._coreService.onUserInput((function(){h.hasSelection&&h.clearSelection()})),h._trimListener=h._bufferService.buffer.lines.onTrim((function(t){return h._onTrim(t)})),h.register(h._bufferService.buffers.onBufferActivate((function(t){return h._onBufferActivate(t)}))),h.enable(),h._model=new c.SelectionModel(h._bufferService),h._activeSelectionMode=0,h}return r(e,t),Object.defineProperty(e.prototype,"onLinuxMouseSelection",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRequestRedraw",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRequestScrollLines",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._removeMouseDownListeners()},e.prototype.reset=function(){this.clearSelection()},e.prototype.disable=function(){this.clearSelection(),this._enabled=!1},e.prototype.enable=function(){this._enabled=!0},Object.defineProperty(e.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasSelection",{get:function(){var t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;return!(!t||!e||t[0]===e[0]&&t[1]===e[1])},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectionText",{get:function(){var t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;if(!t||!e)return"";var n=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(t[0]===e[0])return"";for(var r=t[1];r<=e[1];r++){var o=n.translateBufferLineToString(r,!0,t[0],e[0]);i.push(o)}}else{for(i.push(n.translateBufferLineToString(t[1],!0,t[0],t[1]===e[1]?e[0]:void 0)),r=t[1]+1;r<=e[1]-1;r++){var a=n.lines.get(r);o=n.translateBufferLineToString(r,!0),a&&a.isWrapped?i[i.length-1]+=o:i.push(o)}t[1]!==e[1]&&(a=n.lines.get(e[1]),o=n.translateBufferLineToString(e[1],!0,0,e[0]),a&&a.isWrapped?i[i.length-1]+=o:i.push(o))}return i.map((function(t){return t.replace(v," ")})).join(s.isWindows?"\r\n":"\n")},enumerable:!1,configurable:!0}),e.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},e.prototype.refresh=function(t){var e=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return e._refresh()}))),s.isLinux&&t&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)},e.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},e.prototype.isClickInSelection=function(t){var e=this._getMouseBufferCoords(t),n=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(n&&i&&e)&&this._areCoordsInSelection(e,n,i)},e.prototype._areCoordsInSelection=function(t,e,n){return t[1]>e[1]&&t[1]=e[0]&&t[0]=e[0]},e.prototype.selectWordAtCursor=function(t){var e=this._getMouseBufferCoords(t);e&&(this._selectWordAt(e,!1),this._model.selectionEnd=void 0,this.refresh(!0))},e.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},e.prototype.selectLines=function(t,e){this._model.clearSelection(),t=Math.max(t,0),e=Math.min(e,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,t],this._model.selectionEnd=[this._bufferService.cols,e],this.refresh(),this._onSelectionChange.fire()},e.prototype._onTrim=function(t){this._model.onTrim(t)&&this.refresh()},e.prototype._getMouseBufferCoords=function(t){var e=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(e)return e[0]--,e[1]--,e[1]+=this._bufferService.buffer.ydisp,e},e.prototype._getMouseEventScrollAmount=function(t){var e=f.getCoordsRelativeToElement(t,this._screenElement)[1],n=this._renderService.dimensions.canvasHeight;return e>=0&&e<=n?0:(e>n&&(e-=n),e=Math.min(Math.max(e,-50),50),(e/=50)/Math.abs(e)+Math.round(14*e))},e.prototype.shouldForceSelection=function(t){return s.isMac?t.altKey&&this._optionsService.options.macOptionClickForcesSelection:t.shiftKey},e.prototype.onMouseDown=function(t){if(this._mouseDownTimeStamp=t.timeStamp,(2!==t.button||!this.hasSelection)&&0===t.button){if(!this._enabled){if(!this.shouldForceSelection(t))return;t.stopPropagation()}t.preventDefault(),this._dragScrollAmount=0,this._enabled&&t.shiftKey?this._onIncrementalClick(t):1===t.detail?this._onSingleClick(t):2===t.detail?this._onDoubleClick(t):3===t.detail&&this._onTripleClick(t),this._addMouseDownListeners(),this.refresh(!0)}},e.prototype._addMouseDownListeners=function(){var t=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return t._dragScroll()}),50)},e.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},e.prototype._onIncrementalClick=function(t){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(t))},e.prototype._onSingleClick=function(t){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(t)?3:0,this._model.selectionStart=this._getMouseBufferCoords(t),this._model.selectionStart){this._model.selectionEnd=void 0;var e=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);e&&e.length!==this._model.selectionStart[0]&&0===e.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},e.prototype._onDoubleClick=function(t){var e=this._getMouseBufferCoords(t);e&&(this._activeSelectionMode=1,this._selectWordAt(e,!0))},e.prototype._onTripleClick=function(t){var e=this._getMouseBufferCoords(t);e&&(this._activeSelectionMode=2,this._selectLineAt(e[1]))},e.prototype.shouldColumnSelect=function(t){return t.altKey&&!(s.isMac&&this._optionsService.options.macOptionClickForcesSelection)},e.prototype._onMouseMove=function(t){if(t.stopImmediatePropagation(),this._model.selectionStart){var e=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(t),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[0]=this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var n=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(t.ydisp+this._bufferService.rows,t.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=t.ydisp),this.refresh()}},e.prototype._onMouseUp=function(t){var e=t.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&e<500&&t.altKey){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var n=this._mouseService.getCoords(t,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(n&&void 0!==n[0]&&void 0!==n[1]){var i=p.moveToCellSequence(n[0]-1,n[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this.hasSelection&&this._onSelectionChange.fire()},e.prototype._onBufferActivate=function(t){var e=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=t.activeBuffer.lines.onTrim((function(t){return e._onTrim(t)}))},e.prototype._convertViewportColToCharacterIndex=function(t,e){for(var n=e[0],i=0;e[0]>=i;i++){var r=t.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?n--:r>1&&e[0]!==i&&(n+=r-1)}return n},e.prototype.setSelection=function(t,e,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[t,e],this._model.selectionStartLength=n,this.refresh()},e.prototype._getWordAt=function(t,e,n,i){if(void 0===n&&(n=!0),void 0===i&&(i=!0),!(t[0]>=this._bufferService.cols)){var r=this._bufferService.buffer,o=r.lines.get(t[1]);if(o){var a=r.translateBufferLineToString(t[1],!1),s=this._convertViewportColToCharacterIndex(o,t),c=s,l=t[0]-s,u=0,h=0,d=0,f=0;if(" "===a.charAt(s)){for(;s>0&&" "===a.charAt(s-1);)s--;for(;c1&&(f+=g-1,c+=g-1);p>0&&s>0&&!this._isCharWordSeparator(o.loadCell(p-1,this._workCell));){o.loadCell(p-1,this._workCell);var v=this._workCell.getChars().length;0===this._workCell.getWidth()?(u++,p--):v>1&&(d+=v-1,s-=v-1),s--,p--}for(;m1&&(f+=b-1,c+=b-1),c++,m++}}c++;var y=s+l-u+d,_=Math.min(this._bufferService.cols,c-s+u+h-d-f);if(e||""!==a.slice(s,c).trim()){if(n&&0===y&&32!==o.getCodePoint(0)){var w=r.lines.get(t[1]-1);if(w&&o.isWrapped&&32!==w.getCodePoint(this._bufferService.cols-1)){var k=this._getWordAt([this._bufferService.cols-1,t[1]-1],!1,!0,!1);if(k){var C=this._bufferService.cols-k.start;y-=C,_+=C}}}if(i&&y+_===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var S=r.lines.get(t[1]+1);if(S&&S.isWrapped&&32!==S.getCodePoint(0)){var x=this._getWordAt([0,t[1]+1],!1,!1,!0);x&&(_+=x.length)}}return{start:y,length:_}}}}},e.prototype._selectWordAt=function(t,e){var n=this._getWordAt(t,e);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,t[1]--;this._model.selectionStart=[n.start,t[1]],this._model.selectionStartLength=n.length}},e.prototype._selectToWordAt=function(t){var e=this._getWordAt(t,!0);if(e){for(var n=t[1];e.start<0;)e.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;e.start+e.length>this._bufferService.cols;)e.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?e.start:e.start+e.length,n]}},e.prototype._isCharWordSeparator=function(t){return 0!==t.getWidth()&&this._optionsService.options.wordSeparator.indexOf(t.getChars())>=0},e.prototype._selectLineAt=function(t){var e=this._bufferService.buffer.getWrappedRangeForLine(t);this._model.selectionStart=[0,e.first],this._model.selectionEnd=[this._bufferService.cols,e.last],this._model.selectionStartLength=0},o([a(2,d.IBufferService),a(3,d.ICoreService),a(4,h.IMouseService),a(5,d.IOptionsService),a(6,h.IRenderService)],e)}(m.Disposable);e.SelectionService=b},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionModel=void 0;var i=function(){function t(t){this._bufferService=t,this.isSelectAllActive=!1,this.selectionStartLength=0}return t.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(t.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),t.prototype.areSelectionValuesReversed=function(){var t=this.selectionStart,e=this.selectionEnd;return!(!t||!e)&&(t[1]>e[1]||t[1]===e[1]&&t[0]>e[0])},t.prototype.onTrim=function(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},t}();e.SelectionModel=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.moveToCellSequence=void 0;var i=n(12);function r(t,e,n,i){var r=t-o(n,t),s=e-o(n,e);return l(Math.abs(r-s)-function(t,e,n){for(var i=0,r=t-o(n,t),s=e-o(n,e),c=0;c=0&&ee?"A":"B"}function s(t,e,n,i,r,o){for(var a=t,s=e,c="";a!==n||s!==i;)a+=r?1:-1,r&&a>o.cols-1?(c+=o.buffer.translateBufferLineToString(s,!1,t,a),a=0,t=0,s++):!r&&a<0&&(c+=o.buffer.translateBufferLineToString(s,!1,0,t+1),t=a=o.cols-1,s--);return c+o.buffer.translateBufferLineToString(s,!1,t,a)}function c(t,e){return i.C0.ESC+(e?"O":"[")+t}function l(t,e){t=Math.floor(t);for(var n="",i=0;i0?i-o(a,i):e;var d=i,f=function(t,e,n,i,a,s){var c;return c=r(n,i,a,s).length>0?i-o(a,i):e,t=n&&ct?"D":"C",l(Math.abs(u-t),c(a,i));a=h>e?"D":"C";var d=Math.abs(h-e);return l(function(t,e){return e.cols-t}(h>e?t:u,n)+(d-1)*n.cols+1+((h>e?u:t)-1),c(a,i))}},function(t,e,n){"use strict";var i=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},r=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.SoundService=void 0;var o=n(1),a=function(){function t(t){this._optionsService=t}return Object.defineProperty(t,"audioContext",{get:function(){if(!t._audioContext){var e=window.AudioContext||window.webkitAudioContext;if(!e)return console.warn("Web Audio API is not supported by this browser. Consider upgrading to the latest version"),null;t._audioContext=new e}return t._audioContext},enumerable:!1,configurable:!0}),t.prototype.playBellSound=function(){var e=t.audioContext;if(e){var n=e.createBufferSource();e.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(t){n.buffer=t,n.connect(e.destination),n.start(0)}))}},t.prototype._base64ToArrayBuffer=function(t){for(var e=window.atob(t),n=e.length,i=new Uint8Array(n),r=0;r=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.MouseZoneManager=void 0;var s=n(2),c=n(7),l=n(5),u=n(1),h=function(t){function e(e,n,i,r,o,a){var s=t.call(this)||this;return s._element=e,s._screenElement=n,s._bufferService=i,s._mouseService=r,s._selectionService=o,s._optionsService=a,s._zones=[],s._areZonesActive=!1,s._lastHoverCoords=[void 0,void 0],s._initialSelectionLength=0,s.register(c.addDisposableDomListener(s._element,"mousedown",(function(t){return s._onMouseDown(t)}))),s._mouseMoveListener=function(t){return s._onMouseMove(t)},s._mouseLeaveListener=function(t){return s._onMouseLeave(t)},s._clickListener=function(t){return s._onClick(t)},s}return r(e,t),e.prototype.dispose=function(){t.prototype.dispose.call(this),this._deactivate()},e.prototype.add=function(t){this._zones.push(t),1===this._zones.length&&this._activate()},e.prototype.clearAll=function(t,e){if(0!==this._zones.length){t&&e||(t=0,e=this._bufferService.rows-1);for(var n=0;nt&&i.y1<=e+1||i.y2>t&&i.y2<=e+1||i.y1e+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(n--,1))}0===this._zones.length&&this._deactivate()}},e.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener("mousemove",this._mouseMoveListener),this._element.addEventListener("mouseleave",this._mouseLeaveListener),this._element.addEventListener("click",this._clickListener))},e.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener("mousemove",this._mouseMoveListener),this._element.removeEventListener("mouseleave",this._mouseLeaveListener),this._element.removeEventListener("click",this._clickListener))},e.prototype._onMouseMove=function(t){this._lastHoverCoords[0]===t.pageX&&this._lastHoverCoords[1]===t.pageY||(this._onHover(t),this._lastHoverCoords=[t.pageX,t.pageY])},e.prototype._onHover=function(t){var e=this,n=this._findZoneEventAt(t);n!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),n&&(this._currentZone=n,n.hoverCallback&&n.hoverCallback(t),this._tooltipTimeout=window.setTimeout((function(){return e._onTooltip(t)}),this._optionsService.options.linkTooltipHoverDuration)))},e.prototype._onTooltip=function(t){this._tooltipTimeout=void 0;var e=this._findZoneEventAt(t);e&&e.tooltipCallback&&e.tooltipCallback(t)},e.prototype._onMouseDown=function(t){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var e=this._findZoneEventAt(t);(null==e?void 0:e.willLinkActivate(t))&&(t.preventDefault(),t.stopImmediatePropagation())}},e.prototype._onMouseLeave=function(t){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},e.prototype._onClick=function(t){var e=this._findZoneEventAt(t),n=this._getSelectionLength();e&&n===this._initialSelectionLength&&(e.clickCallback(t),t.preventDefault(),t.stopImmediatePropagation())},e.prototype._getSelectionLength=function(){var t=this._selectionService.selectionText;return t?t.length:0},e.prototype._findZoneEventAt=function(t){var e=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(e)for(var n=e[0],i=e[1],r=0;r=o.x1&&n=o.x1||i===o.y2&&no.y1&&it;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},e.prototype._createAccessibilityTreeNode=function(){var t=document.createElement("div");return t.setAttribute("role","listitem"),t.tabIndex=-1,this._refreshRowDimensions(t),t},e.prototype._onTab=function(t){for(var e=0;e0?this._charsToConsume.shift()!==t&&(this._charsToAnnounce+=t):this._charsToAnnounce+=t,"\n"===t&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),a.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){e._accessibilityTreeRoot.appendChild(e._liveRegion)}),0))},e.prototype._clearLiveRegion=function(){this._liveRegion.textContent="",this._liveRegionLineCount=0,a.isMac&&h.removeElementFromParent(this._liveRegion)},e.prototype._onKey=function(t){this._clearLiveRegion(),this._charsToConsume.push(t)},e.prototype._refreshRows=function(t,e){this._renderRowsDebouncer.refresh(t,e,this._terminal.rows)},e.prototype._renderRows=function(t,e){for(var n=this._terminal.buffer,i=n.lines.length.toString(),r=t;r<=e;r++){var o=n.translateBufferLineToString(n.ydisp+r,!0),a=(n.ydisp+r+1).toString(),s=this._rowElements[r];s&&(0===o.length?s.innerHTML=" ":s.textContent=o,s.setAttribute("aria-posinset",a),s.setAttribute("aria-setsize",i))}this._announceCharacters()},e.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var t=0;t=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.DomRenderer=void 0;var s=n(58),c=n(9),l=n(2),u=n(5),h=n(1),d=n(0),f=n(10),p=n(17),m=1,g=function(t){function e(e,n,i,r,o,a,c,l,u){var h=t.call(this)||this;return h._colors=e,h._element=n,h._screenElement=i,h._viewportElement=r,h._linkifier=o,h._linkifier2=a,h._charSizeService=c,h._optionsService=l,h._bufferService=u,h._terminalClass=m++,h._rowElements=[],h._rowContainer=document.createElement("div"),h._rowContainer.classList.add("xterm-rows"),h._rowContainer.style.lineHeight="normal",h._rowContainer.setAttribute("aria-hidden","true"),h._refreshRowElements(h._bufferService.cols,h._bufferService.rows),h._selectionContainer=document.createElement("div"),h._selectionContainer.classList.add("xterm-selection"),h._selectionContainer.setAttribute("aria-hidden","true"),h.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},h._updateDimensions(),h._injectCss(),h._rowFactory=new s.DomRendererRowFactory(document,h._optionsService,h._colors),h._element.classList.add("xterm-dom-renderer-owner-"+h._terminalClass),h._screenElement.appendChild(h._rowContainer),h._screenElement.appendChild(h._selectionContainer),h._linkifier.onShowLinkUnderline((function(t){return h._onLinkHover(t)})),h._linkifier.onHideLinkUnderline((function(t){return h._onLinkLeave(t)})),h._linkifier2.onShowLinkUnderline((function(t){return h._onLinkHover(t)})),h._linkifier2.onHideLinkUnderline((function(t){return h._onLinkLeave(t)})),h}return r(e,t),Object.defineProperty(e.prototype,"onRequestRedraw",{get:function(){return(new d.EventEmitter).event},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._element.classList.remove("xterm-dom-renderer-owner-"+this._terminalClass),p.removeElementFromParent(this._rowContainer,this._selectionContainer,this._themeStyleElement,this._dimensionsStyleElement),t.prototype.dispose.call(this)},e.prototype._updateDimensions=function(){this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows;for(var t=0,e=this._rowElements;te;)this._rowContainer.removeChild(this._rowElements.pop())},e.prototype.onResize=function(t,e){this._refreshRowElements(t,e),this._updateDimensions()},e.prototype.onCharSizeChanged=function(){this._updateDimensions()},e.prototype.onBlur=function(){this._rowContainer.classList.remove("xterm-focus")},e.prototype.onFocus=function(){this._rowContainer.classList.add("xterm-focus")},e.prototype.onSelectionChanged=function(t,e,n){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(t&&e){var i=t[1]-this._bufferService.buffer.ydisp,r=e[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),a=Math.min(r,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||a<0)){var s=document.createDocumentFragment();n?s.appendChild(this._createSelectionElement(o,t[0],e[0],a-o+1)):(s.appendChild(this._createSelectionElement(o,i===o?t[0]:0,o===a?e[0]:this._bufferService.cols)),s.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,a-o-1)),o!==a&&s.appendChild(this._createSelectionElement(a,0,r===a?e[0]:this._bufferService.cols))),this._selectionContainer.appendChild(s)}}},e.prototype._createSelectionElement=function(t,e,n,i){void 0===i&&(i=1);var r=document.createElement("div");return r.style.height=i*this.dimensions.actualCellHeight+"px",r.style.top=t*this.dimensions.actualCellHeight+"px",r.style.left=e*this.dimensions.actualCellWidth+"px",r.style.width=this.dimensions.actualCellWidth*(n-e)+"px",r},e.prototype.onCursorMove=function(){},e.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},e.prototype.clear=function(){for(var t=0,e=this._rowElements;t=r&&(t=0,n++)}},o([a(6,u.ICharSizeService),a(7,h.IOptionsService),a(8,h.IBufferService)],e)}(l.Disposable);e.DomRenderer=g},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DomRendererRowFactory=e.CURSOR_STYLE_UNDERLINE_CLASS=e.CURSOR_STYLE_BAR_CLASS=e.CURSOR_STYLE_BLOCK_CLASS=e.CURSOR_BLINK_CLASS=e.CURSOR_CLASS=e.UNDERLINE_CLASS=e.ITALIC_CLASS=e.DIM_CLASS=e.BOLD_CLASS=void 0;var i=n(9),r=n(3),o=n(4),a=n(10);e.BOLD_CLASS="xterm-bold",e.DIM_CLASS="xterm-dim",e.ITALIC_CLASS="xterm-italic",e.UNDERLINE_CLASS="xterm-underline",e.CURSOR_CLASS="xterm-cursor",e.CURSOR_BLINK_CLASS="xterm-cursor-blink",e.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",e.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",e.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";var s=function(){function t(t,e,n){this._document=t,this._optionsService=e,this._colors=n,this._workCell=new o.CellData}return t.prototype.setColors=function(t){this._colors=t},t.prototype.createRow=function(t,n,o,s,l,u,h){for(var d=this._document.createDocumentFragment(),f=0,p=Math.min(t.length,h)-1;p>=0;p--)if(t.loadCell(p,this._workCell).getCode()!==r.NULL_CELL_CODE||n&&p===s){f=p+1;break}for(p=0;p1&&(g.style.width=u*m+"px"),n&&p===s)switch(g.classList.add(e.CURSOR_CLASS),l&&g.classList.add(e.CURSOR_BLINK_CLASS),o){case"bar":g.classList.add(e.CURSOR_STYLE_BAR_CLASS);break;case"underline":g.classList.add(e.CURSOR_STYLE_UNDERLINE_CLASS);break;default:g.classList.add(e.CURSOR_STYLE_BLOCK_CLASS)}this._workCell.isBold()&&g.classList.add(e.BOLD_CLASS),this._workCell.isItalic()&&g.classList.add(e.ITALIC_CLASS),this._workCell.isDim()&&g.classList.add(e.DIM_CLASS),this._workCell.isUnderline()&&g.classList.add(e.UNDERLINE_CLASS),g.textContent=this._workCell.isInvisible()?r.WHITESPACE_CELL_CHAR:this._workCell.getChars()||r.WHITESPACE_CELL_CHAR;var v=this._workCell.getFgColor(),b=this._workCell.getFgColorMode(),y=this._workCell.getBgColor(),_=this._workCell.getBgColorMode(),w=!!this._workCell.isInverse();if(w){var k=v;v=y,y=k;var C=b;b=_,_=C}switch(b){case 16777216:case 33554432:this._workCell.isBold()&&v<8&&this._optionsService.options.drawBoldTextInBrightColors&&(v+=8),this._applyMinimumContrast(g,this._colors.background,this._colors.ansi[v])||g.classList.add("xterm-fg-"+v);break;case 50331648:var S=a.rgba.toColor(v>>16&255,v>>8&255,255&v);this._applyMinimumContrast(g,this._colors.background,S)||this._addStyle(g,"color:#"+c(v.toString(16),"0",6));break;case 0:default:this._applyMinimumContrast(g,this._colors.background,this._colors.foreground)||w&&g.classList.add("xterm-fg-"+i.INVERTED_DEFAULT_COLOR)}switch(_){case 16777216:case 33554432:g.classList.add("xterm-bg-"+y);break;case 50331648:this._addStyle(g,"background-color:#"+c(y.toString(16),"0",6));break;case 0:default:w&&g.classList.add("xterm-bg-"+i.INVERTED_DEFAULT_COLOR)}d.appendChild(g)}}return d},t.prototype._applyMinimumContrast=function(t,e,n){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=a.color.ensureContrastRatio(e,n,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(t,"color:"+i.css),!0)},t.prototype._addStyle=function(t,e){t.setAttribute("style",""+(t.getAttribute("style")||"")+e+";")},t}();function c(t,e,n){for(;t.length"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};e.evaluateKeyboardEvent=function(t,e,n,o){var a={type:0,cancel:!1,key:void 0},s=(t.shiftKey?1:0)|(t.altKey?2:0)|(t.ctrlKey?4:0)|(t.metaKey?8:0);switch(t.keyCode){case 0:"UIKeyInputUpArrow"===t.key?a.key=e?i.C0.ESC+"OA":i.C0.ESC+"[A":"UIKeyInputLeftArrow"===t.key?a.key=e?i.C0.ESC+"OD":i.C0.ESC+"[D":"UIKeyInputRightArrow"===t.key?a.key=e?i.C0.ESC+"OC":i.C0.ESC+"[C":"UIKeyInputDownArrow"===t.key&&(a.key=e?i.C0.ESC+"OB":i.C0.ESC+"[B");break;case 8:if(t.shiftKey){a.key=i.C0.BS;break}if(t.altKey){a.key=i.C0.ESC+i.C0.DEL;break}a.key=i.C0.DEL;break;case 9:if(t.shiftKey){a.key=i.C0.ESC+"[Z";break}a.key=i.C0.HT,a.cancel=!0;break;case 13:a.key=t.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,a.cancel=!0;break;case 27:a.key=i.C0.ESC,t.altKey&&(a.key=i.C0.ESC+i.C0.ESC),a.cancel=!0;break;case 37:if(t.metaKey)break;s?(a.key=i.C0.ESC+"[1;"+(s+1)+"D",a.key===i.C0.ESC+"[1;3D"&&(a.key=i.C0.ESC+(n?"b":"[1;5D"))):a.key=e?i.C0.ESC+"OD":i.C0.ESC+"[D";break;case 39:if(t.metaKey)break;s?(a.key=i.C0.ESC+"[1;"+(s+1)+"C",a.key===i.C0.ESC+"[1;3C"&&(a.key=i.C0.ESC+(n?"f":"[1;5C"))):a.key=e?i.C0.ESC+"OC":i.C0.ESC+"[C";break;case 38:if(t.metaKey)break;s?(a.key=i.C0.ESC+"[1;"+(s+1)+"A",n||a.key!==i.C0.ESC+"[1;3A"||(a.key=i.C0.ESC+"[1;5A")):a.key=e?i.C0.ESC+"OA":i.C0.ESC+"[A";break;case 40:if(t.metaKey)break;s?(a.key=i.C0.ESC+"[1;"+(s+1)+"B",n||a.key!==i.C0.ESC+"[1;3B"||(a.key=i.C0.ESC+"[1;5B")):a.key=e?i.C0.ESC+"OB":i.C0.ESC+"[B";break;case 45:t.shiftKey||t.ctrlKey||(a.key=i.C0.ESC+"[2~");break;case 46:a.key=s?i.C0.ESC+"[3;"+(s+1)+"~":i.C0.ESC+"[3~";break;case 36:a.key=s?i.C0.ESC+"[1;"+(s+1)+"H":e?i.C0.ESC+"OH":i.C0.ESC+"[H";break;case 35:a.key=s?i.C0.ESC+"[1;"+(s+1)+"F":e?i.C0.ESC+"OF":i.C0.ESC+"[F";break;case 33:t.shiftKey?a.type=2:a.key=i.C0.ESC+"[5~";break;case 34:t.shiftKey?a.type=3:a.key=i.C0.ESC+"[6~";break;case 112:a.key=s?i.C0.ESC+"[1;"+(s+1)+"P":i.C0.ESC+"OP";break;case 113:a.key=s?i.C0.ESC+"[1;"+(s+1)+"Q":i.C0.ESC+"OQ";break;case 114:a.key=s?i.C0.ESC+"[1;"+(s+1)+"R":i.C0.ESC+"OR";break;case 115:a.key=s?i.C0.ESC+"[1;"+(s+1)+"S":i.C0.ESC+"OS";break;case 116:a.key=s?i.C0.ESC+"[15;"+(s+1)+"~":i.C0.ESC+"[15~";break;case 117:a.key=s?i.C0.ESC+"[17;"+(s+1)+"~":i.C0.ESC+"[17~";break;case 118:a.key=s?i.C0.ESC+"[18;"+(s+1)+"~":i.C0.ESC+"[18~";break;case 119:a.key=s?i.C0.ESC+"[19;"+(s+1)+"~":i.C0.ESC+"[19~";break;case 120:a.key=s?i.C0.ESC+"[20;"+(s+1)+"~":i.C0.ESC+"[20~";break;case 121:a.key=s?i.C0.ESC+"[21;"+(s+1)+"~":i.C0.ESC+"[21~";break;case 122:a.key=s?i.C0.ESC+"[23;"+(s+1)+"~":i.C0.ESC+"[23~";break;case 123:a.key=s?i.C0.ESC+"[24;"+(s+1)+"~":i.C0.ESC+"[24~";break;default:if(!t.ctrlKey||t.shiftKey||t.altKey||t.metaKey)if(n&&!o||!t.altKey||t.metaKey)n&&!t.altKey&&!t.ctrlKey&&t.metaKey?65===t.keyCode&&(a.type=1):t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.keyCode>=48&&1===t.key.length?a.key=t.key:t.key&&t.ctrlKey&&"_"===t.key&&(a.key=i.C0.US);else{var c=r[t.keyCode],l=c&&c[t.shiftKey?1:0];l?a.key=i.C0.ESC+l:t.keyCode>=65&&t.keyCode<=90&&(a.key=i.C0.ESC+String.fromCharCode(t.ctrlKey?t.keyCode-64:t.keyCode+32))}else t.keyCode>=65&&t.keyCode<=90?a.key=String.fromCharCode(t.keyCode-64):32===t.keyCode?a.key=i.C0.NUL:t.keyCode>=51&&t.keyCode<=55?a.key=String.fromCharCode(t.keyCode-51+27):56===t.keyCode?a.key=i.C0.DEL:219===t.keyCode?a.key=i.C0.ESC:220===t.keyCode?a.key=i.C0.FS:221===t.keyCode&&(a.key=i.C0.GS)}return a}},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.RenderService=void 0;var s=n(31),c=n(0),l=n(2),u=n(32),h=n(7),d=n(1),f=n(5),p=function(t){function e(e,n,i,r,o,a){var l=t.call(this)||this;if(l._renderer=e,l._rowCount=n,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l.register({dispose:function(){return l._renderer.dispose()}}),l._renderDebouncer=new s.RenderDebouncer((function(t,e){return l._renderRows(t,e)})),l.register(l._renderDebouncer),l._screenDprMonitor=new u.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(a.onResize((function(t){return l._fullRefresh()}))),l.register(r.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(o.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(t){return l.refreshRows(t.start,t.end,!0)})),l.register(h.addDisposableDomListener(window,"resize",(function(){return l.onDevicePixelRatioChange()}))),"IntersectionObserver"in window){var d=new IntersectionObserver((function(t){return l._onIntersectionChange(t[t.length-1])}),{threshold:0});d.observe(i),l.register({dispose:function(){return d.disconnect()}})}return l}return r(e,t),Object.defineProperty(e.prototype,"onDimensionsChange",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRenderedBufferChange",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRefreshRequest",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dimensions",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),e.prototype._onIntersectionChange=function(t){this._isPaused=0===t.intersectionRatio,!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},e.prototype.refreshRows=function(t,e,n){void 0===n&&(n=!1),this._isPaused?this._needsFullRefresh=!0:(n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(t,e,this._rowCount))},e.prototype._renderRows=function(t,e){this._renderer.renderRows(t,e),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:t,end:e}),this._isNextRenderRedrawOnly=!0},e.prototype.resize=function(t,e){this._rowCount=e,this._fireOnCanvasResize()},e.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},e.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},e.prototype.dispose=function(){t.prototype.dispose.call(this)},e.prototype.setRenderer=function(t){var e=this;this._renderer.dispose(),this._renderer=t,this._renderer.onRequestRedraw((function(t){return e.refreshRows(t.start,t.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},e.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},e.prototype.setColors=function(t){this._renderer.setColors(t),this._fullRefresh()},e.prototype.onDevicePixelRatioChange=function(){this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},e.prototype.onResize=function(t,e){this._renderer.onResize(t,e),this._fullRefresh()},e.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},e.prototype.onBlur=function(){this._renderer.onBlur()},e.prototype.onFocus=function(){this._renderer.onFocus()},e.prototype.onSelectionChanged=function(t,e,n){this._selectionState.start=t,this._selectionState.end=e,this._selectionState.columnSelectMode=n,this._renderer.onSelectionChanged(t,e,n)},e.prototype.onCursorMove=function(){this._renderer.onCursorMove()},e.prototype.clear=function(){this._renderer.clear()},e.prototype.registerCharacterJoiner=function(t){return this._renderer.registerCharacterJoiner(t)},e.prototype.deregisterCharacterJoiner=function(t){return this._renderer.deregisterCharacterJoiner(t)},o([a(3,d.IOptionsService),a(4,f.ICharSizeService),a(5,d.IBufferService)],e)}(l.Disposable);e.RenderService=p},function(t,e,n){"use strict";var i=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},r=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.CharSizeService=void 0;var o=n(1),a=n(0),s=function(){function t(t,e,n){this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=new a.EventEmitter,this._measureStrategy=new c(t,e,this._optionsService)}return Object.defineProperty(t.prototype,"hasValidSize",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCharSizeChange",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),t.prototype.measure=function(){var t=this._measureStrategy.measure();t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._onCharSizeChange.fire())},i([r(2,o.IOptionsService)],t)}();e.CharSizeService=s;var c=function(){function t(t,e,n){this._document=t,this._parentElement=e,this._optionsService=n,this._result={width:0,height:0},this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement)}return t.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+"px";var t=this._measureElement.getBoundingClientRect();return 0!==t.width&&0!==t.height&&(this._result.width=t.width,this._result.height=Math.ceil(t.height)),this._result},t}()},function(t,e,n){"use strict";var i=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},r=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.MouseService=void 0;var o=n(5),a=n(30),s=function(){function t(t,e){this._renderService=t,this._charSizeService=e}return t.prototype.getCoords=function(t,e,n,i,r){return a.getCoords(t,e,n,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,r)},t.prototype.getRawByteCoords=function(t,e,n,i){var r=this.getCoords(t,e,n,i);return a.getRawByteCoords(r)},i([r(0,o.IRenderService),r(1,o.ICharSizeService)],t)}();e.MouseService=s},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.Linkifier2=void 0;var s=n(1),c=n(0),l=n(2),u=n(7),h=function(t){function e(e){var n=t.call(this)||this;return n._bufferService=e,n._linkProviders=[],n._linkCacheDisposables=[],n._isMouseOut=!0,n._activeLine=-1,n._onShowLinkUnderline=n.register(new c.EventEmitter),n._onHideLinkUnderline=n.register(new c.EventEmitter),n.register(l.getDisposeArrayDisposable(n._linkCacheDisposables)),n}return r(e,t),Object.defineProperty(e.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),e.prototype.registerLinkProvider=function(t){var e=this;return this._linkProviders.push(t),{dispose:function(){var n=e._linkProviders.indexOf(t);-1!==n&&e._linkProviders.splice(n,1)}}},e.prototype.attachToDom=function(t,e,n){var i=this;this._element=t,this._mouseService=e,this._renderService=n,this.register(u.addDisposableDomListener(this._element,"mouseleave",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(u.addDisposableDomListener(this._element,"mousemove",this._onMouseMove.bind(this))),this.register(u.addDisposableDomListener(this._element,"click",this._onClick.bind(this)))},e.prototype._onMouseMove=function(t){if(this._lastMouseEvent=t,this._element&&this._mouseService){var e=this._positionFromMouseEvent(t,this._element,this._mouseService);if(e){this._isMouseOut=!1;for(var n=t.composedPath(),i=0;it?this._bufferService.cols:a.link.range.end.x,c=a.link.range.start.y=t&&this._currentLink.link.range.end.y<=e)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},e.prototype._handleNewLink=function(t){var e=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var n=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);n&&this._linkAtPosition(t.link,n)&&(this._currentLink=t,this._currentLink.state={decorations:{underline:void 0===t.link.decorations||t.link.decorations.underline,pointerCursor:void 0===t.link.decorations||t.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,t.link,this._lastMouseEvent),t.link.decorations={},Object.defineProperties(t.link.decorations,{pointerCursor:{get:function(){var t,n;return null===(n=null===(t=e._currentLink)||void 0===t?void 0:t.state)||void 0===n?void 0:n.decorations.pointerCursor},set:function(t){var n,i;(null===(n=e._currentLink)||void 0===n?void 0:n.state)&&e._currentLink.state.decorations.pointerCursor!==t&&(e._currentLink.state.decorations.pointerCursor=t,e._currentLink.state.isHovered&&(null===(i=e._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",t)))}},underline:{get:function(){var t,n;return null===(n=null===(t=e._currentLink)||void 0===t?void 0:t.state)||void 0===n?void 0:n.decorations.underline},set:function(n){var i,r,o;(null===(i=e._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(r=e._currentLink)||void 0===r?void 0:r.state)||void 0===o?void 0:o.decorations.underline)!==n&&(e._currentLink.state.decorations.underline=n,e._currentLink.state.isHovered&&e._fireUnderlineEvent(t.link,n))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(t){e._clearCurrentLink(0===t.start?0:t.start+1+e._bufferService.buffer.ydisp,t.end+1+e._bufferService.buffer.ydisp)}))))}},e.prototype._linkHover=function(t,e,n){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!0),this._currentLink.state.decorations.pointerCursor&&t.classList.add("xterm-cursor-pointer")),e.hover&&e.hover(n,e.text)},e.prototype._fireUnderlineEvent=function(t,e){var n=t.range,i=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-i-1,n.end.x,n.end.y-i-1,void 0);(e?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)},e.prototype._linkLeave=function(t,e,n){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!1),this._currentLink.state.decorations.pointerCursor&&t.classList.remove("xterm-cursor-pointer")),e.leave&&e.leave(n,e.text)},e.prototype._linkAtPosition=function(t,e){var n=t.range.start.ye.y;return(t.range.start.y===t.range.end.y&&t.range.start.x<=e.x&&t.range.end.x>=e.x||n&&t.range.end.x>=e.x||i&&t.range.start.x<=e.x||n&&i)&&t.range.start.y<=e.y&&t.range.end.y>=e.y},e.prototype._positionFromMouseEvent=function(t,e,n){var i=n.getCoords(t,e,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},e.prototype._createLinkUnderlineEvent=function(t,e,n,i,r){return{x1:t,y1:e,x2:n,y2:i,cols:this._bufferService.cols,fg:r}},o([a(0,s.IBufferService)],e)}(l.Disposable);e.Linkifier2=h},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CoreBrowserService=void 0;var i=function(){function t(t){this._textarea=t}return Object.defineProperty(t.prototype,"isFocused",{get:function(){return document.activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),t}();e.CoreBrowserService=i},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CoreTerminal=void 0;var o=n(2),a=n(1),s=n(66),c=n(67),l=n(68),u=n(74),h=n(75),d=n(0),f=n(76),p=n(77),m=n(78),g=n(80),v=n(81),b=n(19),y=n(82),_=function(t){function e(e){var n=t.call(this)||this;return n._onBinary=new d.EventEmitter,n._onData=new d.EventEmitter,n._onLineFeed=new d.EventEmitter,n._onResize=new d.EventEmitter,n._onScroll=new d.EventEmitter,n._instantiationService=new s.InstantiationService,n.optionsService=new u.OptionsService(e),n._instantiationService.setService(a.IOptionsService,n.optionsService),n._bufferService=n.register(n._instantiationService.createInstance(l.BufferService)),n._instantiationService.setService(a.IBufferService,n._bufferService),n._logService=n._instantiationService.createInstance(c.LogService),n._instantiationService.setService(a.ILogService,n._logService),n._coreService=n.register(n._instantiationService.createInstance(h.CoreService,(function(){return n.scrollToBottom()}))),n._instantiationService.setService(a.ICoreService,n._coreService),n._coreMouseService=n._instantiationService.createInstance(f.CoreMouseService),n._instantiationService.setService(a.ICoreMouseService,n._coreMouseService),n._dirtyRowService=n._instantiationService.createInstance(p.DirtyRowService),n._instantiationService.setService(a.IDirtyRowService,n._dirtyRowService),n.unicodeService=n._instantiationService.createInstance(m.UnicodeService),n._instantiationService.setService(a.IUnicodeService,n.unicodeService),n._charsetService=n._instantiationService.createInstance(g.CharsetService),n._instantiationService.setService(a.ICharsetService,n._charsetService),n._inputHandler=new b.InputHandler(n._bufferService,n._charsetService,n._coreService,n._dirtyRowService,n._logService,n.optionsService,n._coreMouseService,n.unicodeService),n.register(d.forwardEvent(n._inputHandler.onLineFeed,n._onLineFeed)),n.register(n._inputHandler),n.register(d.forwardEvent(n._bufferService.onResize,n._onResize)),n.register(d.forwardEvent(n._coreService.onData,n._onData)),n.register(d.forwardEvent(n._coreService.onBinary,n._onBinary)),n.register(n.optionsService.onOptionChange((function(t){return n._updateOptions(t)}))),n._writeBuffer=new y.WriteBuffer((function(t){return n._inputHandler.parse(t)})),n}return r(e,t),Object.defineProperty(e.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cols",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rows",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffers",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){var e;this._isDisposed||(t.prototype.dispose.call(this),null===(e=this._windowsMode)||void 0===e||e.dispose(),this._windowsMode=void 0)},e.prototype.write=function(t,e){this._writeBuffer.write(t,e)},e.prototype.writeSync=function(t){this._writeBuffer.writeSync(t)},e.prototype.resize=function(t,e){isNaN(t)||isNaN(e)||(t=Math.max(t,l.MINIMUM_COLS),e=Math.max(e,l.MINIMUM_ROWS),this._bufferService.resize(t,e))},e.prototype.scroll=function(t,e){void 0===e&&(e=!1);var n,i=this._bufferService.buffer;(n=this._cachedBlankLine)&&n.length===this.cols&&n.getFg(0)===t.fg&&n.getBg(0)===t.bg||(n=i.getBlankLine(t,e),this._cachedBlankLine=n),n.isWrapped=e;var r=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var a=i.lines.isFull;o===i.lines.length-1?a?i.lines.recycle().copyFrom(n):i.lines.push(n.clone()):i.lines.splice(o+1,0,n.clone()),a?this._bufferService.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this._bufferService.isUserScrolling||i.ydisp++)}else i.lines.shiftElements(r+1,o-r+1-1,-1),i.lines.set(o,n.clone());this._bufferService.isUserScrolling||(i.ydisp=i.ybase),this._dirtyRowService.markRangeDirty(i.scrollTop,i.scrollBottom),this._onScroll.fire(i.ydisp)},e.prototype.scrollLines=function(t,e){var n=this._bufferService.buffer;if(t<0){if(0===n.ydisp)return;this._bufferService.isUserScrolling=!0}else t+n.ydisp>=n.ybase&&(this._bufferService.isUserScrolling=!1);var i=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+t,n.ybase),0),i!==n.ydisp&&(e||this._onScroll.fire(n.ydisp))},e.prototype.scrollPages=function(t){this.scrollLines(t*(this.rows-1))},e.prototype.scrollToTop=function(){this.scrollLines(-this._bufferService.buffer.ydisp)},e.prototype.scrollToBottom=function(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)},e.prototype.scrollToLine=function(t){var e=t-this._bufferService.buffer.ydisp;0!==e&&this.scrollLines(e)},e.prototype.addEscHandler=function(t,e){return this._inputHandler.addEscHandler(t,e)},e.prototype.addDcsHandler=function(t,e){return this._inputHandler.addDcsHandler(t,e)},e.prototype.addCsiHandler=function(t,e){return this._inputHandler.addCsiHandler(t,e)},e.prototype.addOscHandler=function(t,e){return this._inputHandler.addOscHandler(t,e)},e.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},e.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},e.prototype._updateOptions=function(t){var e;switch(t){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(e=this._windowsMode)||void 0===e||e.dispose(),this._windowsMode=void 0)}},e.prototype._enableWindowsMode=function(){var t=this;if(!this._windowsMode){var e=[];e.push(this.onLineFeed(v.updateWindowsModeWrappedState.bind(null,this._bufferService))),e.push(this.addCsiHandler({final:"H"},(function(){return v.updateWindowsModeWrappedState(t._bufferService),!1}))),this._windowsMode={dispose:function(){for(var t=0,n=e;t0?r[0].index:e.length;if(e.length!==h)throw new Error("[createInstance] First service dependency of "+t.name+" at position "+(h+1)+" conflicts with "+e.length+" static arguments");return new(t.bind.apply(t,i([void 0],i(e,a))))},t}();e.InstantiationService=s},function(t,e,n){"use strict";var i=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},r=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}},o=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.BufferService=e.MINIMUM_ROWS=e.MINIMUM_COLS=void 0;var s=n(1),c=n(69),l=n(0),u=n(2);e.MINIMUM_COLS=2,e.MINIMUM_ROWS=1;var h=function(t){function n(n){var i=t.call(this)||this;return i._optionsService=n,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i.cols=Math.max(n.options.cols,e.MINIMUM_COLS),i.rows=Math.max(n.options.rows,e.MINIMUM_ROWS),i.buffers=new c.BufferSet(n,i),i}return r(n,t),Object.defineProperty(n.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){t.prototype.dispose.call(this),this.buffers.dispose()},n.prototype.resize=function(t,e){this.cols=t,this.rows=e,this.buffers.resize(t,e),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:t,rows:e})},n.prototype.reset=function(){this.buffers.dispose(),this.buffers=new c.BufferSet(this._optionsService,this),this.isUserScrolling=!1},o([a(0,s.IOptionsService)],n)}(u.Disposable);e.BufferService=h},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.BufferSet=void 0;var o=n(70),a=n(0),s=function(t){function e(e,n){var i=t.call(this)||this;return i._onBufferActivate=i.register(new a.EventEmitter),i._normal=new o.Buffer(!0,e,n),i._normal.fillViewportRows(),i._alt=new o.Buffer(!1,e,n),i._activeBuffer=i._normal,i.setupTabStops(),i}return r(e,t),Object.defineProperty(e.prototype,"onBufferActivate",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"alt",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"active",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"normal",{get:function(){return this._normal},enumerable:!1,configurable:!0}),e.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},e.prototype.activateAltBuffer=function(t){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(t),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}))},e.prototype.resize=function(t,e){this._normal.resize(t,e),this._alt.resize(t,e)},e.prototype.setupTabStops=function(t){this._normal.setupTabStops(t),this._alt.setupTabStops(t)},e}(n(2).Disposable);e.BufferSet=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BufferStringIterator=e.Buffer=e.MAX_BUFFER_SIZE=void 0;var i=n(71),r=n(16),o=n(4),a=n(3),s=n(72),c=n(73),l=n(20),u=n(6);e.MAX_BUFFER_SIZE=4294967295;var h=function(){function t(t,e,n){this._hasScrollback=t,this._optionsService=e,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=r.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,a.NULL_CELL_CHAR,a.NULL_CELL_WIDTH,a.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,a.WHITESPACE_CELL_CHAR,a.WHITESPACE_CELL_WIDTH,a.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return t.prototype.getNullCell=function(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new u.ExtendedAttrs),this._nullCell},t.prototype.getWhitespaceCell=function(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new u.ExtendedAttrs),this._whitespaceCell},t.prototype.getBlankLine=function(t,e){return new r.BufferLine(this._bufferService.cols,this.getNullCell(t),e)},Object.defineProperty(t.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isCursorInViewport",{get:function(){var t=this.ybase+this.y-this.ydisp;return t>=0&&te.MAX_BUFFER_SIZE?e.MAX_BUFFER_SIZE:n},t.prototype.fillViewportRows=function(t){if(0===this.lines.length){void 0===t&&(t=r.DEFAULT_ATTR_DATA);for(var e=this._rows;e--;)this.lines.push(this.getBlankLine(t))}},t.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},t.prototype.resize=function(t,e){var n=this.getNullCell(r.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(e);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new r.BufferLine(t,n)));else for(s=this._rows;s>e;s--)this.lines.length>e+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,e-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=e-1,this._isReflowEnabled&&(this._reflow(t,e),this._cols>t))for(o=0;othis._cols?this._reflowLarger(t,e):this._reflowSmaller(t,e))},t.prototype._reflowLarger=function(t,e){var n=s.reflowLargerGetLinesToRemove(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(r.DEFAULT_ATTR_DATA));if(n.length>0){var i=s.reflowLargerCreateNewLayout(this.lines,n);s.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(t,e,i.countRemoved)}},t.prototype._reflowLargerAdjustViewport=function(t,e,n){for(var i=this.getNullCell(r.DEFAULT_ATTR_DATA),o=n;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;a--){var c=this.lines.get(a);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=t)){for(var l=[c];c.isWrapped&&a>0;)c=this.lines.get(--a),l.unshift(c);var u=this.ybase+this.y;if(!(u>=a&&u0&&(i.push({start:a+l.length+o,newLines:m}),o+=m.length),l.push.apply(l,m);var b=f.length-1,y=f[b];0===y&&(y=f[--b]);for(var _=l.length-p-1,w=d;_>=0;){var k=Math.min(w,y);if(l[b].copyCellsFrom(l[_],w-k,y-k,k,!0),0==(y-=k)&&(y=f[--b]),0==(w-=k)){_--;var C=Math.max(_,0);w=s.getWrappedLineTrimmedLength(l,C,this._cols)}}for(g=0;g0;)0===this.ybase?this.y0){var x=[],O=[];for(g=0;g=0;g--)if(P&&P.start>T+A){for(var j=P.newLines.length-1;j>=0;j--)this.lines.set(g--,P.newLines[j]);g++,x.push({index:T+1,amount:P.newLines.length}),A+=P.newLines.length,P=i[++E]}else this.lines.set(g,O[T--]);var I=0;for(g=x.length-1;g>=0;g--)x[g].index+=I,this.lines.onInsertEmitter.fire(x[g]),I+=x[g].amount;var D=Math.max(0,M+o-this.lines.maxLength);D>0&&this.lines.onTrimEmitter.fire(D)}},t.prototype.stringIndexToBufferIndex=function(t,e,n){for(void 0===n&&(n=!1);e;){var i=this.lines.get(t);if(!i)return[-1,-1];for(var r=n?i.getTrimmedLength():i.length,o=0;o0&&this.lines.get(e).isWrapped;)e--;for(;n+10;);return t>=this._cols?this._cols-1:t<0?0:t},t.prototype.nextStop=function(t){for(null==t&&(t=this.x);!this.tabs[++t]&&t=this._cols?this._cols-1:t<0?0:t},t.prototype.addMarker=function(t){var e=this,n=new c.Marker(t);return this.markers.push(n),n.register(this.lines.onTrim((function(t){n.line-=t,n.line<0&&n.dispose()}))),n.register(this.lines.onInsert((function(t){n.line>=t.index&&(n.line+=t.amount)}))),n.register(this.lines.onDelete((function(t){n.line>=t.index&&n.linet.index&&(n.line-=t.amount)}))),n.register(n.onDispose((function(){return e._removeMarker(n)}))),n},t.prototype._removeMarker=function(t){this.markers.splice(this.markers.indexOf(t),1)},t.prototype.iterator=function(t,e,n,i,r){return new d(this,t,e,n,i,r)},t}();e.Buffer=h;var d=function(){function t(t,e,n,i,r,o){void 0===n&&(n=0),void 0===i&&(i=t.lines.length),void 0===r&&(r=0),void 0===o&&(o=0),this._buffer=t,this._trimRight=e,this._startIndex=n,this._endIndex=i,this._startOverscan=r,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return t.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(t.last=this._endIndex+this._endOverscan),t.first=Math.max(t.first,0),t.last=Math.min(t.last,this._buffer.lines.length);for(var e="",n=t.first;n<=t.last;++n)e+=this._buffer.translateBufferLineToString(n,this._trimRight);return this._current=t.last+1,{range:t,content:e}},t}();e.BufferStringIterator=d},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CircularList=void 0;var i=n(0),r=function(){function t(t){this._maxLength=t,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(t.prototype,"onDelete",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onInsert",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTrim",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._maxLength},set:function(t){if(this._maxLength!==t){for(var e=new Array(t),n=0;nthis._length)for(var e=this._length;e=t;r--)this._array[this._getCyclicIndex(r+n.length)]=this._array[this._getCyclicIndex(r)];for(r=0;rthis._maxLength){var o=this._length+n.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=n.length},t.prototype.trimStart=function(t){t>this._length&&(t=this._length),this._startIndex+=t,this._length-=t,this.onTrimEmitter.fire(t)},t.prototype.shiftElements=function(t,e,n){if(!(e<=0)){if(t<0||t>=this._length)throw new Error("start argument out of range");if(t+n<0)throw new Error("Cannot shift elements in list beyond index 0");if(n>0){for(var i=e-1;i>=0;i--)this.set(t+i+n,this.get(t+i));var r=t+e+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i=s&&r0&&(b>h||0===u[b].getTrimmedLength());b--)v++;v>0&&(a.push(s+u.length-v),a.push(v)),s+=u.length-1}}}return a},e.reflowLargerCreateNewLayout=function(t,e){for(var n=[],i=0,r=e[i],o=0,a=0;al&&(a-=l,s++);var u=2===t[s].getWidth(a-1);u&&a--;var h=u?n-1:n;r.push(h),c+=h}return r},e.getWrappedLineTrimmedLength=i},function(t,e,n){"use strict";var i,r=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.Marker=void 0;var o=n(0),a=function(t){function e(n){var i=t.call(this)||this;return i.line=n,i._id=e._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return r(e,t),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire())},e._nextId=1,e}(n(2).Disposable);e.Marker=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OptionsService=e.DEFAULT_OPTIONS=e.DEFAULT_BELL_SOUND=void 0;var i=n(0),r=n(11),o=n(33);e.DEFAULT_BELL_SOUND="data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",e.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,bellSound:e.DEFAULT_BELL_SOUND,bellStyle:"none",drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:r.isMac,rendererType:"canvas",windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",convertEol:!1,termName:"xterm",cancelEvents:!1});var a=["cols","rows"],s=function(){function t(t){this._onOptionChange=new i.EventEmitter,this.options=o.clone(e.DEFAULT_OPTIONS);for(var n=0,r=Object.keys(t);n=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.CoreService=void 0;var s=n(1),c=n(0),l=n(33),u=n(2),h=Object.freeze({insertMode:!1}),d=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),f=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o._bufferService=n,o._logService=i,o._optionsService=r,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=e,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(h),o.decPrivateModes=l.clone(d),o}return r(e,t),Object.defineProperty(e.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onUserInput",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.modes=l.clone(h),this.decPrivateModes=l.clone(d)},e.prototype.triggerDataEvent=function(t,e){if(void 0===e&&(e=!1),!this._optionsService.options.disableStdin){var n=this._bufferService.buffer;n.ybase!==n.ydisp&&this._scrollToBottom(),e&&this._onUserInput.fire(),this._logService.debug('sending data "'+t+'"',(function(){return t.split("").map((function(t){return t.charCodeAt(0)}))})),this._onData.fire(t)}},e.prototype.triggerBinaryEvent=function(t){this._optionsService.options.disableStdin||(this._logService.debug('sending binary "'+t+'"',(function(){return t.split("").map((function(t){return t.charCodeAt(0)}))})),this._onBinary.fire(t))},o([a(1,s.IBufferService),a(2,s.ILogService),a(3,s.IOptionsService)],e)}(u.Disposable);e.CoreService=f},function(t,e,n){"use strict";var i=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},r=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.CoreMouseService=void 0;var o=n(1),a=n(0),s={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(t){return 4!==t.button&&1===t.action&&(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)}},VT200:{events:19,restrict:function(t){return 32!==t.action}},DRAG:{events:23,restrict:function(t){return 32!==t.action||3!==t.button}},ANY:{events:31,restrict:function(t){return!0}}};function c(t,e){var n=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return 4===t.button?(n|=64,n|=t.action):(n|=3&t.button,4&t.button&&(n|=64),8&t.button&&(n|=128),32===t.action?n|=32:0!==t.action||e||(n|=3)),n}var l=String.fromCharCode,u={DEFAULT:function(t){var e=[c(t,!1)+32,t.col+32,t.row+32];return e[0]>255||e[1]>255||e[2]>255?"":"\x1b[M"+l(e[0])+l(e[1])+l(e[2])},SGR:function(t){var e=0===t.action&&4!==t.button?"m":"M";return"\x1b[<"+c(t,!0)+";"+t.col+";"+t.row+e}},h=function(){function t(t,e){this._bufferService=t,this._coreService=e,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new a.EventEmitter,this._lastEvent=null;for(var n=0,i=Object.keys(s);n=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows)return!1;if(4===t.button&&32===t.action)return!1;if(3===t.button&&32!==t.action)return!1;if(4!==t.button&&(2===t.action||3===t.action))return!1;if(t.col++,t.row++,32===t.action&&this._lastEvent&&this._compareEvents(this._lastEvent,t))return!1;if(!this._protocols[this._activeProtocol].restrict(t))return!1;var e=this._encodings[this._activeEncoding](t);return e&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(e):this._coreService.triggerDataEvent(e,!0)),this._lastEvent=t,!0},t.prototype.explainEvents=function(t){return{down:!!(1&t),up:!!(2&t),drag:!!(4&t),move:!!(8&t),wheel:!!(16&t)}},t.prototype._compareEvents=function(t,e){return t.col===e.col&&t.row===e.row&&t.button===e.button&&t.action===e.action&&t.ctrl===e.ctrl&&t.alt===e.alt&&t.shift===e.shift},i([r(0,o.IBufferService),r(1,o.ICoreService)],t)}();e.CoreMouseService=h},function(t,e,n){"use strict";var i=this&&this.__decorate||function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(o<3?r(a):o>3?r(e,n,a):r(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a},r=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.DirtyRowService=void 0;var o=n(1),a=function(){function t(t){this._bufferService=t,this.clearRange()}return Object.defineProperty(t.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),t.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},t.prototype.markDirty=function(t){tthis._end&&(this._end=t)},t.prototype.markRangeDirty=function(t,e){if(t>e){var n=t;t=e,e=n}tthis._end&&(this._end=e)},t.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},i([r(0,o.IBufferService)],t)}();e.DirtyRowService=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UnicodeService=void 0;var i=n(0),r=n(79),o=function(){function t(){this._providers=Object.create(null),this._active="",this._onChange=new i.EventEmitter;var t=new r.UnicodeV6;this.register(t),this._active=t.version,this._activeProvider=t}return Object.defineProperty(t.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"versions",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"activeVersion",{get:function(){return this._active},set:function(t){if(!this._providers[t])throw new Error('unknown Unicode version "'+t+'"');this._active=t,this._activeProvider=this._providers[t],this._onChange.fire(t)},enumerable:!1,configurable:!0}),t.prototype.register=function(t){this._providers[t.version]=t},t.prototype.wcwidth=function(t){return this._activeProvider.wcwidth(t)},t.prototype.getStringCellWidth=function(t){for(var e=0,n=t.length,i=0;i=n)return e+this.wcwidth(r);var o=t.charCodeAt(i);56320<=o&&o<=57343?r=1024*(r-55296)+o-56320+65536:e+=this.wcwidth(o)}e+=this.wcwidth(r)}return e},t}();e.UnicodeService=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UnicodeV6=void 0;var i,r=n(15),o=[[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]],a=[[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]],s=function(){function t(){if(this.version="6",!i){i=new Uint8Array(65536),r.fill(i,1),i[0]=0,r.fill(i,0,1,32),r.fill(i,0,127,160),r.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,r.fill(i,2,11904,42192),i[12351]=1,r.fill(i,2,44032,55204),r.fill(i,2,63744,64256),r.fill(i,2,65040,65050),r.fill(i,2,65072,65136),r.fill(i,2,65280,65377),r.fill(i,2,65504,65511);for(var t=0;te[r][1])return!1;for(;r>=i;)if(t>e[n=i+r>>1][1])i=n+1;else{if(!(t=131072&&t<=196605||t>=196608&&t<=262141?2:1},t}();e.UnicodeV6=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CharsetService=void 0;var i=function(){function t(){this.glevel=0,this._charsets=[]}return t.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},t.prototype.setgLevel=function(t){this.glevel=t,this.charset=this._charsets[t]},t.prototype.setgCharset=function(t,e){this._charsets[t]=e,this.glevel===t&&(this.charset=e)},t}();e.CharsetService=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.updateWindowsModeWrappedState=void 0;var i=n(3);e.updateWindowsModeWrappedState=function(t){var e=t.buffer.lines.get(t.buffer.ybase+t.buffer.y-1),n=null==e?void 0:e.get(t.cols-1),r=t.buffer.lines.get(t.buffer.ybase+t.buffer.y);r&&n&&(r.isWrapped=n[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&n[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WriteBuffer=void 0;var i=function(){function t(t){this._action=t,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0}return t.prototype.writeSync=function(t){if(this._writeBuffer.length){for(var e=this._bufferOffset;e5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return n._innerWrite()}))),this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e)},t.prototype._innerWrite=function(){for(var t=this,e=Date.now();this._writeBuffer.length>this._bufferOffset;){var n=this._writeBuffer[this._bufferOffset],i=this._callbacks[this._bufferOffset];if(this._bufferOffset++,this._action(n),this._pendingData-=n.length,i&&i(),Date.now()-e>=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((function(){return t._innerWrite()}),0)):(this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0)},t}();e.WriteBuffer=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AddonManager=void 0;var i=function(){function t(){this._addons=[]}return t.prototype.dispose=function(){for(var t=this._addons.length-1;t>=0;t--)this._addons[t].instance.dispose()},t.prototype.loadAddon=function(t,e){var n=this,i={instance:e,dispose:e.dispose,isDisposed:!1};this._addons.push(i),e.dispose=function(){return n._wrappedAddonDispose(i)},e.activate(t)},t.prototype._wrappedAddonDispose=function(t){if(!t.isDisposed){for(var e=-1,n=0;n100&&(l=o-60+3,o=58);for(var u=a;u<=s;u++)u>=0&&u0&&i[u].length>l?"\u2026":"")+i[u].substr(l,98)+(i[u].length>l+100-1?"\u2026":""));return[n(a,r),new Array(o+c+2).join("-")+"^",n(r,s)].filter(Boolean).join("\n")}t.exports=function(t,e,n,o,a){var s=i("SyntaxError",t);return s.source=e,s.offset=n,s.line=o,s.column=a,s.sourceFragment=function(t){return r(s,isNaN(t)?0:t)},Object.defineProperty(s,"formattedMessage",{get:function(){return"Parse error: "+s.message+"\n"+r(s,2)}}),s.parseError={offset:n,line:o,column:a},s}},"1gRP":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("kU1M");e.materialize=function(){return i.materialize()(this)}},"1uah":function(t,e,n){"use strict";n.d(e,"b",(function(){return f})),n.d(e,"a",(function(){return p}));var i=n("Ji7U"),r=n("LK+K"),o=n("1OyB"),a=n("vuIU"),s=n("yCtX"),c=n("DH7j"),l=n("7o/Q"),u=n("l7GE"),h=n("ZUHj"),d=n("Lhse");function f(){for(var t=arguments.length,e=new Array(t),n=0;n2&&void 0!==arguments[2]?arguments[2]:Object.create(null);return Object(o.a)(this,n),(r=e.call(this,t)).iterators=[],r.active=0,r.resultSelector="function"==typeof i?i:null,r.values=a,r}return Object(a.a)(n,[{key:"_next",value:function(t){var e=this.iterators;Object(c.a)(t)?e.push(new v(t)):e.push("function"==typeof t[d.a]?new g(t[d.a]()):new b(this.destination,this,t))}},{key:"_complete",value:function(){var t=this.iterators,e=t.length;if(this.unsubscribe(),0!==e){this.active=e;for(var n=0;nthis.index}},{key:"hasCompleted",value:function(){return this.array.length===this.index}}]),t}(),b=function(t){Object(i.a)(n,t);var e=Object(r.a)(n);function n(t,i,r){var a;return Object(o.a)(this,n),(a=e.call(this,t)).parent=i,a.observable=r,a.stillUnsubscribed=!0,a.buffer=[],a.isComplete=!1,a}return Object(a.a)(n,[{key:d.a,value:function(){return this}},{key:"next",value:function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}}},{key:"hasValue",value:function(){return this.buffer.length>0}},{key:"hasCompleted",value:function(){return 0===this.buffer.length&&this.isComplete}},{key:"notifyComplete",value:function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}},{key:"notifyNext",value:function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()}},{key:"subscribe",value:function(t,e){return Object(h.a)(this,this.observable,this,e)}}]),n}(u.a)},"2+DN":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp"),r=n("uMcE");i.Observable.prototype.shareReplay=r.shareReplay},"25BE":function(t,e,n){"use strict";function i(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}n.d(e,"a",(function(){return i}))},"2Gxe":function(t,e,n){var i=n("vd7W").TYPE,r=i.Ident,o=i.String,a=i.Colon,s=i.LeftSquareBracket,c=i.RightSquareBracket;function l(){this.scanner.eof&&this.error("Unexpected end of input");var t=this.scanner.tokenStart,e=!1,n=!0;return this.scanner.isDelim(42)?(e=!0,n=!1,this.scanner.next()):this.scanner.isDelim(124)||this.eat(r),this.scanner.isDelim(124)?61!==this.scanner.source.charCodeAt(this.scanner.tokenStart+1)?(this.scanner.next(),this.eat(r)):e&&this.error("Identifier is expected",this.scanner.tokenEnd):e&&this.error("Vertical line is expected"),n&&this.scanner.tokenType===a&&(this.scanner.next(),this.eat(r)),{type:"Identifier",loc:this.getLocation(t,this.scanner.tokenStart),name:this.scanner.substrToCursor(t)}}function u(){var t=this.scanner.tokenStart,e=this.scanner.source.charCodeAt(t);return 61!==e&&126!==e&&94!==e&&36!==e&&42!==e&&124!==e&&this.error("Attribute selector (=, ~=, ^=, $=, *=, |=) is expected"),this.scanner.next(),61!==e&&(this.scanner.isDelim(61)||this.error("Equal sign is expected"),this.scanner.next()),this.scanner.substrToCursor(t)}t.exports={name:"AttributeSelector",structure:{name:"Identifier",matcher:[String,null],value:["String","Identifier",null],flags:[String,null]},parse:function(){var t,e=this.scanner.tokenStart,n=null,i=null,a=null;return this.eat(s),this.scanner.skipSC(),t=l.call(this),this.scanner.skipSC(),this.scanner.tokenType!==c&&(this.scanner.tokenType!==r&&(n=u.call(this),this.scanner.skipSC(),i=this.scanner.tokenType===o?this.String():this.Identifier(),this.scanner.skipSC()),this.scanner.tokenType===r&&(a=this.scanner.getTokenValue(),this.scanner.next(),this.scanner.skipSC())),this.eat(c),{type:"AttributeSelector",loc:this.getLocation(e,this.scanner.tokenStart),name:t,matcher:n,value:i,flags:a}},generate:function(t){var e=" ";this.chunk("["),this.node(t.name),null!==t.matcher&&(this.chunk(t.matcher),null!==t.value&&(this.node(t.value),"String"===t.value.type&&(e=""))),null!==t.flags&&(this.chunk(e),this.chunk(t.flags)),this.chunk("]")}}},"2IC2":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp"),r=n("j5kd");i.Observable.prototype.windowTime=r.windowTime},"2QA8":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var i=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}()},"2TAq":function(t,e,n){var i=n("vd7W").isHexDigit,r=n("vd7W").cmpChar,o=n("vd7W").TYPE,a=o.Ident,s=o.Delim,c=o.Number,l=o.Dimension;function u(t,e){return null!==t&&t.type===s&&t.value.charCodeAt(0)===e}function h(t,e){return t.value.charCodeAt(0)===e}function d(t,e,n){for(var r=e,o=0;r0?6:0;if(!i(a))return 0;if(++o>6)return 0}return o}function f(t,e,n){if(!t)return 0;for(;u(n(e),63);){if(++t>6)return 0;e++}return e}t.exports=function(t,e){var n=0;if(null===t||t.type!==a||!r(t.value,0,117))return 0;if(null===(t=e(++n)))return 0;if(u(t,43))return null===(t=e(++n))?0:t.type===a?f(d(t,0,!0),++n,e):u(t,63)?f(1,++n,e):0;if(t.type===c){if(!h(t,43))return 0;var i=d(t,1,!0);return 0===i?0:null===(t=e(++n))?n:t.type===l||t.type===c?h(t,45)&&d(t,1,!1)?n+1:0:f(i,n,e)}return t.type===l&&h(t,43)?f(d(t,1,!0),++n,e):0}},"2Vo4":function(t,e,n){"use strict";n.d(e,"a",(function(){return h}));var i=n("1OyB"),r=n("vuIU"),o=n("ReuC"),a=n("foSv"),s=n("Ji7U"),c=n("LK+K"),l=n("XNiG"),u=n("9ppp"),h=function(t){Object(s.a)(n,t);var e=Object(c.a)(n);function n(t){var r;return Object(i.a)(this,n),(r=e.call(this))._value=t,r}return Object(r.a)(n,[{key:"_subscribe",value:function(t){var e=Object(o.a)(Object(a.a)(n.prototype),"_subscribe",this).call(this,t);return e&&!e.closed&&t.next(this._value),e}},{key:"getValue",value:function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new u.a;return this._value}},{key:"next",value:function(t){Object(o.a)(Object(a.a)(n.prototype),"next",this).call(this,this._value=t)}},{key:"value",get:function(){return this.getValue()}}]),n}(l.b)},"2WcH":function(t,e,n){"use strict";function i(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}n.d(e,"a",(function(){return i}))},"2fFW":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var i=!1,r={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){var e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else i&&console.log("RxJS: Back to a better error behavior. Thank you. <3");i=t},get useDeprecatedSynchronousErrorHandling(){return i}}},"2pxp":function(t,e){t.exports={parse:function(){return this.createSingleNodeList(this.SelectorList())}}},"338f":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("kU1M");e.concatMap=function(t){return i.concatMap(t)(this)}},"33Dm":function(t,e,n){var i=n("vd7W").TYPE,r=i.WhiteSpace,o=i.Comment,a=i.Ident,s=i.LeftParenthesis;t.exports={name:"MediaQuery",structure:{children:[["Identifier","MediaFeature","WhiteSpace"]]},parse:function(){this.scanner.skipSC();var t=this.createList(),e=null,n=null;t:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case o:this.scanner.next();continue;case r:n=this.WhiteSpace();continue;case a:e=this.Identifier();break;case s:e=this.MediaFeature();break;default:break t}null!==n&&(t.push(n),n=null),t.push(e)}return null===e&&this.error("Identifier or parenthesis is expected"),{type:"MediaQuery",loc:this.getLocationFromList(t),children:t}},generate:function(t){this.children(t)}}},"37L2":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp"),r=n("338f");i.Observable.prototype.concatMap=r.concatMap},"3E0/":function(t,e,n){"use strict";n.d(e,"a",(function(){return h}));var i=n("Ji7U"),r=n("LK+K"),o=n("1OyB"),a=n("vuIU"),s=n("D0XW"),c=n("mlxB"),l=n("7o/Q"),u=n("WMd4");function h(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.a,n=Object(c.a)(t),i=n?+t-e.now():Math.abs(t);return function(t){return t.lift(new d(i,e))}}var d=function(){function t(e,n){Object(o.a)(this,t),this.delay=e,this.scheduler=n}return Object(a.a)(t,[{key:"call",value:function(t,e){return e.subscribe(new f(t,this.delay,this.scheduler))}}]),t}(),f=function(t){Object(i.a)(n,t);var e=Object(r.a)(n);function n(t,i,r){var a;return Object(o.a)(this,n),(a=e.call(this,t)).delay=i,a.scheduler=r,a.queue=[],a.active=!1,a.errored=!1,a}return Object(a.a)(n,[{key:"_schedule",value:function(t){this.active=!0,this.destination.add(t.schedule(n.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}},{key:"scheduleNotification",value:function(t){if(!0!==this.errored){var e=this.scheduler,n=new p(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}}},{key:"_next",value:function(t){this.scheduleNotification(u.a.createNext(t))}},{key:"_error",value:function(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleNotification(u.a.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(t){for(var e=t.source,n=e.queue,i=t.scheduler,r=t.destination;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(t,o)}else this.unsubscribe(),e.active=!1}}]),n}(l.a),p=function t(e,n){Object(o.a)(this,t),this.time=e,this.notification=n}},"3EiV":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp"),r=n("dL1u");i.Observable.prototype.buffer=r.buffer},"3N8a":function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var i=n("1OyB"),r=n("vuIU"),o=n("Ji7U"),a=n("LK+K"),s=function(t){Object(o.a)(n,t);var e=Object(a.a)(n);function n(t,r){var o;return Object(i.a)(this,n),(o=e.call(this,t,r)).scheduler=t,o.work=r,o.pending=!1,o}return Object(r.a)(n,[{key:"schedule",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.closed)return this;this.state=t;var n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(i,this.id,e),this}},{key:"requestAsyncId",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return setInterval(t.flush.bind(t,this),n)}},{key:"recycleAsyncId",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)}},{key:"execute",value:function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}},{key:"_execute",value:function(t,e){var n=!1,i=void 0;try{this.work(t)}catch(r){n=!0,i=!!r&&r||new Error(r)}if(n)return this.unsubscribe(),i}},{key:"_unsubscribe",value:function(){var t=this.id,e=this.scheduler,n=e.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}]),n}(function(t){Object(o.a)(n,t);var e=Object(a.a)(n);function n(t,r){return Object(i.a)(this,n),e.call(this)}return Object(r.a)(n,[{key:"schedule",value:function(t){return this}}]),n}(n("quSY").a))},"3Qpg":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("qCKp");i.Observable.fromPromise=i.from},"3UD+":function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},"3UWI":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var i=n("D0XW"),r=n("tnsW"),o=n("PqYM");function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.a;return Object(r.a)((function(){return Object(o.a)(t,e)}))}},"3XNy":function(t,e){function n(t){return t>=48&&t<=57}function i(t){return t>=65&&t<=90}function r(t){return t>=97&&t<=122}function o(t){return i(t)||r(t)}function a(t){return t>=128}function s(t){return o(t)||a(t)||95===t}function c(t){return t>=0&&t<=8||11===t||t>=14&&t<=31||127===t}function l(t){return 10===t||13===t||12===t}function u(t){return l(t)||32===t||9===t}function h(t,e){return 92===t&&!l(e)&&0!==e}var d=new Array(128);p.Eof=128,p.WhiteSpace=130,p.Digit=131,p.NameStart=132,p.NonPrintable=133;for(var f=0;f=65&&t<=70||t>=97&&t<=102},isUppercaseLetter:i,isLowercaseLetter:r,isLetter:o,isNonAscii:a,isNameStart:s,isName:function(t){return s(t)||n(t)||45===t},isNonPrintable:c,isNewline:l,isWhiteSpace:u,isValidEscape:h,isIdentifierStart:function(t,e,n){return 45===t?s(e)||45===e||h(e,n):!!s(t)||92===t&&h(t,e)},isNumberStart:function(t,e,i){return 43===t||45===t?n(e)?2:46===e&&n(i)?3:0:46===t?n(e)?2:0:n(t)?1:0},isBOM:function(t){return 65279===t||65534===t?1:0},charCodeCategory:p}},"3uOa":function(t,e,n){"use strict";n.r(e);var i=n("lcII");n.d(e,"webSocket",(function(){return i.a}));var r=n("wxn8");n.d(e,"WebSocketSubject",(function(){return r.a}))},"4AtU":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("kU1M");e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),i.expand(t,e=(e||0)<1?Number.POSITIVE_INFINITY:e,n)(this)}},"4HHr":function(t,e){var n=Object.prototype.hasOwnProperty,i=function(){};function r(t){return"function"==typeof t?t:i}function o(t,e){return function(n,i,r){n.type===e&&t.call(this,n,i,r)}}function a(t,e){var i=e.structure,r=[];for(var o in i)if(!1!==n.call(i,o)){var a=i[o],s={name:o,type:!1,nullable:!1};Array.isArray(i[o])||(a=[i[o]]);for(var c=0;c>>((3&e)<<3)&255;return r}}},"4hIw":function(t,e,n){"use strict";n.d(e,"b",(function(){return c})),n.d(e,"a",(function(){return l}));var i=n("1OyB"),r=n("D0XW"),o=n("Kqap"),a=n("NXyV"),s=n("lJxs");function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.a;return function(e){return Object(a.a)((function(){return e.pipe(Object(o.a)((function(e,n){var i=e.current;return{value:n,current:t.now(),last:i}}),{current:t.now(),value:void 0,last:void 0}),Object(s.a)((function(t){return new l(t.value,t.current-t.last)})))}))}}var l=function t(e,n){Object(i.a)(this,t),this.value=e,this.interval=n}},"4njK":function(t,e,n){var i=n("vd7W").TYPE,r=i.WhiteSpace,o=i.Semicolon,a=i.LeftCurlyBracket,s=i.Delim;function c(){return this.scanner.tokenIndex>0&&this.scanner.lookupType(-1)===r?this.scanner.tokenIndex>1?this.scanner.getTokenStart(this.scanner.tokenIndex-1):this.scanner.firstCharOffset:this.scanner.tokenStart}function l(){return 0}t.exports={name:"Raw",structure:{value:String},parse:function(t,e,n){var i,r=this.scanner.getTokenStart(t);return this.scanner.skip(this.scanner.getRawLength(t,e||l)),i=n&&this.scanner.tokenStart>r?c.call(this):this.scanner.tokenStart,{type:"Raw",loc:this.getLocation(r,i),value:this.scanner.source.substring(r,i)}},generate:function(t){this.chunk(t.value)},mode:{default:l,leftCurlyBracket:function(t){return t===a?1:0},leftCurlyBracketOrSemicolon:function(t){return t===a||t===o?1:0},exclamationMarkOrSemicolon:function(t,e,n){return t===s&&33===e.charCodeAt(n)||t===o?1:0},semicolonIncluded:function(t){return t===o?2:0}}}},"4vYp":function(t){t.exports=JSON.parse('{"generic":true,"types":{"absolute-size":"xx-small|x-small|small|medium|large|x-large|xx-large","alpha-value":"|","angle-percentage":"|","angular-color-hint":"","angular-color-stop":"&&?","angular-color-stop-list":"[ [, ]?]# , ","animateable-feature":"scroll-position|contents|","attachment":"scroll|fixed|local","attr()":"attr( ? [, ]? )","attr-matcher":"[\'~\'|\'|\'|\'^\'|\'$\'|\'*\']? \'=\'","attr-modifier":"i|s","attribute-selector":"\'[\' \']\'|\'[\' [|] ? \']\'","auto-repeat":"repeat( [auto-fill|auto-fit] , [? ]+ ? )","auto-track-list":"[? [|]]* ? [? [|]]* ?","baseline-position":"[first|last]? baseline","basic-shape":"|||","bg-image":"none|","bg-layer":"|| [/ ]?||||||||","bg-position":"[[left|center|right|top|bottom|]|[left|center|right|] [top|center|bottom|]|[center|[left|right] ?]&&[center|[top|bottom] ?]]","bg-size":"[|auto]{1,2}|cover|contain","blur()":"blur( )","blend-mode":"normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity","box":"border-box|padding-box|content-box","brightness()":"brightness( )","calc()":"calc( )","calc-sum":" [[\'+\'|\'-\'] ]*","calc-product":" [\'*\' |\'/\' ]*","calc-value":"|||( )","cf-final-image":"|","cf-mixing-image":"?&&","circle()":"circle( []? [at ]? )","clamp()":"clamp( #{3} )","class-selector":"\'.\' ","clip-source":"","color":"||||||currentcolor|","color-stop":"|","color-stop-angle":"{1,2}","color-stop-length":"{1,2}","color-stop-list":"[ [, ]?]# , ","combinator":"\'>\'|\'+\'|\'~\'|[\'||\']","common-lig-values":"[common-ligatures|no-common-ligatures]","compat":"searchfield|textarea|push-button|button-bevel|slider-horizontal|checkbox|radio|square-button|menulist|menulist-button|listbox|meter|progress-bar","composite-style":"clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor","compositing-operator":"add|subtract|intersect|exclude","compound-selector":"[? * [ *]*]!","compound-selector-list":"#","complex-selector":" [? ]*","complex-selector-list":"#","conic-gradient()":"conic-gradient( [from ]? [at ]? , )","contextual-alt-values":"[contextual|no-contextual]","content-distribution":"space-between|space-around|space-evenly|stretch","content-list":"[|contents||||counter( , <\'list-style-type\'>? )]+","content-position":"center|start|end|flex-start|flex-end","content-replacement":"","contrast()":"contrast( [] )","counter()":"counter( , [|none]? )","counter-style":"|symbols( )","counter-style-name":"","counters()":"counters( , , [|none]? )","cross-fade()":"cross-fade( , ? )","cubic-bezier-timing-function":"ease|ease-in|ease-out|ease-in-out|cubic-bezier( , , , )","deprecated-system-color":"ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText","discretionary-lig-values":"[discretionary-ligatures|no-discretionary-ligatures]","display-box":"contents|none","display-inside":"flow|flow-root|table|flex|grid|ruby","display-internal":"table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container","display-legacy":"inline-block|inline-list-item|inline-table|inline-flex|inline-grid","display-listitem":"?&&[flow|flow-root]?&&list-item","display-outside":"block|inline|run-in","drop-shadow()":"drop-shadow( {2,3} ? )","east-asian-variant-values":"[jis78|jis83|jis90|jis04|simplified|traditional]","east-asian-width-values":"[full-width|proportional-width]","element()":"element( )","ellipse()":"ellipse( [{2}]? [at ]? )","ending-shape":"circle|ellipse","env()":"env( , ? )","explicit-track-list":"[? ]+ ?","family-name":"|+","feature-tag-value":" [|on|off]?","feature-type":"@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation","feature-value-block":" \'{\' \'}\'","feature-value-block-list":"+","feature-value-declaration":" : + ;","feature-value-declaration-list":"","feature-value-name":"","fill-rule":"nonzero|evenodd","filter-function":"|||||||||","filter-function-list":"[|]+","final-bg-layer":"<\'background-color\'>|||| [/ ]?||||||||","fit-content()":"fit-content( [|] )","fixed-breadth":"","fixed-repeat":"repeat( [] , [? ]+ ? )","fixed-size":"|minmax( , )|minmax( , )","font-stretch-absolute":"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|","font-variant-css21":"[normal|small-caps]","font-weight-absolute":"normal|bold|","frequency-percentage":"|","general-enclosed":"[ )]|( )","generic-family":"serif|sans-serif|cursive|fantasy|monospace|-apple-system","generic-name":"serif|sans-serif|cursive|fantasy|monospace","geometry-box":"|fill-box|stroke-box|view-box","gradient":"|||||<-legacy-gradient>","grayscale()":"grayscale( )","grid-line":"auto||[&&?]|[span&&[||]]","historical-lig-values":"[historical-ligatures|no-historical-ligatures]","hsl()":"hsl( [/ ]? )|hsl( , , , ? )","hsla()":"hsla( [/ ]? )|hsla( , , , ? )","hue":"|","hue-rotate()":"hue-rotate( )","image":"|||||","image()":"image( ? [? , ?]! )","image-set()":"image-set( # )","image-set-option":"[|] ","image-src":"|","image-tags":"ltr|rtl","inflexible-breadth":"||min-content|max-content|auto","inset()":"inset( {1,4} [round <\'border-radius\'>]? )","invert()":"invert( )","keyframes-name":"|","keyframe-block":"# { }","keyframe-block-list":"+","keyframe-selector":"from|to|","leader()":"leader( )","leader-type":"dotted|solid|space|","length-percentage":"|","line-names":"\'[\' * \']\'","line-name-list":"[|]+","line-style":"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset","line-width":"|thin|medium|thick","linear-color-hint":"","linear-color-stop":" ?","linear-gradient()":"linear-gradient( [|to ]? , )","mask-layer":"|| [/ ]?||||||[|no-clip]||||","mask-position":"[|left|center|right] [|top|center|bottom]?","mask-reference":"none||","mask-source":"","masking-mode":"alpha|luminance|match-source","matrix()":"matrix( #{6} )","matrix3d()":"matrix3d( #{16} )","max()":"max( # )","media-and":" [and ]+","media-condition":"|||","media-condition-without-or":"||","media-feature":"( [||] )","media-in-parens":"( )||","media-not":"not ","media-or":" [or ]+","media-query":"|[not|only]? [and ]?","media-query-list":"#","media-type":"","mf-boolean":"","mf-name":"","mf-plain":" : ","mf-range":" [\'<\'|\'>\']? \'=\'? | [\'<\'|\'>\']? \'=\'? | \'<\' \'=\'? \'<\' \'=\'? | \'>\' \'=\'? \'>\' \'=\'? ","mf-value":"|||","min()":"min( # )","minmax()":"minmax( [|||min-content|max-content|auto] , [|||min-content|max-content|auto] )","named-color":"transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|<-non-standard-color>","namespace-prefix":"","ns-prefix":"[|\'*\']? \'|\'","number-percentage":"|","numeric-figure-values":"[lining-nums|oldstyle-nums]","numeric-fraction-values":"[diagonal-fractions|stacked-fractions]","numeric-spacing-values":"[proportional-nums|tabular-nums]","nth":"|even|odd","opacity()":"opacity( [] )","overflow-position":"unsafe|safe","outline-radius":"|","page-body":"? [; ]?| ","page-margin-box":" \'{\' \'}\'","page-margin-box-type":"@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom","page-selector-list":"[#]?","page-selector":"+| *","perspective()":"perspective( )","polygon()":"polygon( ? , [ ]# )","position":"[[left|center|right]||[top|center|bottom]|[left|center|right|] [top|center|bottom|]?|[[left|right] ]&&[[top|bottom] ]]","pseudo-class-selector":"\':\' |\':\' \')\'","pseudo-element-selector":"\':\' ","pseudo-page":": [left|right|first|blank]","quote":"open-quote|close-quote|no-open-quote|no-close-quote","radial-gradient()":"radial-gradient( [||]? [at ]? , )","relative-selector":"? ","relative-selector-list":"#","relative-size":"larger|smaller","repeat-style":"repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}","repeating-linear-gradient()":"repeating-linear-gradient( [|to ]? , )","repeating-radial-gradient()":"repeating-radial-gradient( [||]? [at ]? , )","rgb()":"rgb( {3} [/ ]? )|rgb( {3} [/ ]? )|rgb( #{3} , ? )|rgb( #{3} , ? )","rgba()":"rgba( {3} [/ ]? )|rgba( {3} [/ ]? )|rgba( #{3} , ? )|rgba( #{3} , ? )","rotate()":"rotate( [|] )","rotate3d()":"rotate3d( , , , [|] )","rotateX()":"rotateX( [|] )","rotateY()":"rotateY( [|] )","rotateZ()":"rotateZ( [|] )","saturate()":"saturate( )","scale()":"scale( , ? )","scale3d()":"scale3d( , , )","scaleX()":"scaleX( )","scaleY()":"scaleY( )","scaleZ()":"scaleZ( )","self-position":"center|start|end|self-start|self-end|flex-start|flex-end","shape-radius":"|closest-side|farthest-side","skew()":"skew( [|] , [|]? )","skewX()":"skewX( [|] )","skewY()":"skewY( [|] )","sepia()":"sepia( )","shadow":"inset?&&{2,4}&&?","shadow-t":"[{2,3}&&?]","shape":"rect( , , , )|rect( )","shape-box":"|margin-box","side-or-corner":"[left|right]||[top|bottom]","single-animation":"